./lib/rule/exit/min_hold_exit.rb
を見ると、指定日数を経過してなけりゃ、手仕舞うなと返すだけ。
それだけなので、簡単。
ただ、気になるのは、フィルターって呼んでたのにExitで実装。
そのネーミングルールはダメじゃね。坂本先生。
これはRubyのセイでなく、坂本先生の設計の問題。
フィルターはEntry,Exitそれぞれにフィルターとして制限掛けるように、
仕組みを設計しとくべきでしょうね。
で、ストップはやっぱりExitの一種だし。
Ruleの分類の仕方は適切でなかったよ。
やっぱりRuleの分類の仕方と継承内部の処理の複雑な入れ子構造は、
リファクタリングしたい。
改めてそう思う。
EntryとExitだけで、ヤルべきか思いとどまるべきか、の判断返す二種類だけにしてもいいし。
Entryは全員がYesのときだけ実行、
Exitは一人でもYesなら実行にしとけば、それでも問題ない。
あるいは、
ヤルべきでないという判断だけを返すフィルターをEntry用、Exit用に別に用意してもいい。
MinHoldExitクラスの内容は至極妥当なんだけど、
これ今までフィルターって読んでて、Exitのクラスってやっぱ釈然としないし、
実情とどこかズレた設計になってるって、やっぱどこか問題。
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。