サービスとユーザの問題
2021-09-22
ここ1, 2週間ほど考え込んでいる.
設定
- (A) システムの提供する機能の単位を表すクラス
- 例えば、利用状況を確認したり、商品の購入だったり。
- (B) システムの機能を利用する単位を表すクラス
- 例えば、利用者や管理者や、あるいは、バッチ処理を表したりとか。
表現したいこと
- (A)は必ず(B)により利用されること
- 特定の(A)は特定の(B)によってのみ利用されること
考察
- (A)がAInterfaceを実装するとして、(B)がBInterfaceを実装するとする。
- ナイーブにAInterfaceのあるメソッドが(引数に)BInterfaceを要求すると、リスコフの置換原則に反する。
- (ここまで考えたところで、そもそも、ここでやりたいことはポリモーフィズムでは無いので、それはそうかとか思い始める)
- BInterfaceを実装するすべてのクラスの交差型とかなら、部分的には解決しそう?
問
- 上記の表現は何(=どのような概念)によってモデリングされるか? そして、それはどのように実装されるべきか?
- 概念の理解のためにはどのような言語でも良いが, 実装は, PHPで行いたい.