-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve StockHolder events #74
Conversation
…n 5.0.0 [ci skip]
279357a
to
32c1c4b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
みた
問題なさそうではある
イベント処理をバンバン非同期でやって大丈夫なのかっていう不思議さはあるけど、そもそもイベント処理が独自実装だからまぁって感じ
StockSaveEventはこれStockChangeEventって雰囲気の処理だったのか
StockHolderSaveEventを実装するのはいいけど、そもそものStock変更時のイベントはなくなる感じなのか
全部チェックアウト・プルしてコードを確認したわけじゃないから的はずれなことを言っているかもしれない
いじょう
イベントライブラリは厳密にはスレッドセーフではない (後述) ですが、イベントを非同期で発火する分には問題ないです
正確に意図をつかめてるかわからないけど、実装当初は
Stock 変更時のイベントは んで、イベントライブラリが厳密にはスレッドセーフではない件 簡単に言うと、イベント処理中にリスナーを追加 ( |
ok 説明が受理されました |
改善の発端
StockHolder
が保存されたときに呼び出されるイベントがStockSaveEvent
で、微妙に名前と用途が一致していないことから再検討を始めた。変更点
StockHolderEvent
の作成 -StockHolder
に関するイベントの最上位クラスStockHolderLoadEvent
とStockHolderSaveEvent
の作成StockSaveEvent
の廃止予定化StockHolderSaveEvent
構築時に呼び出されるStockEvent
がStockHolderEvent
を拡張するようにするStockEvent
はStockHolder
の中の在庫 (Stock) が変更されたときに呼び出されるためNOTE
StockEvent
がStockHolderEvent
を拡張するならば、StockEvent
群はn.o.b.api.event.stockholder
に移動すべきである。しかし、これを行うには、
n.o.b.api.event.stock
下のクラス群をv4.1.0
で廃止予定化してv4.2.0
で削除するか、移動してバージョンをv5.0.0
にする必要がある (誰も使ってないはずとはいえ、あくまでも API なので破壊的変更は配慮がいる)。さすがにそこまでやるのは面倒なので、いつか
v5.0.0
に上げるときにパッケージを移動する (TODO としてコメント済み)。