次のクラス図を検討してください。
+--------+ * +------------------+ * afraid-of +------------+
| Garden |------>| Animal |<------------------------| Baby |
+--------+ +------------------+ +------------+
^
|
+----------+------+
| |
+------+------+ +------+-----+
| Cat | | Wolf |
+-------------+ +------------+
動物には 2 つの役割があります。
- 彼らは庭を歩き回ります(クラスインスタンス)
- 赤ちゃんは何匹かの動物を怖がっている (Class Type)
どの赤ちゃんを飼うべきですか?それが恐れている各動物の 1 つのインスタンス? (デザインが悪いように聞こえます) 型名は?(私は常にリファクタリングを避けるようにしています)
これはどのように解決する必要がありますか?(私は C# を使用していますが、言語に依存しない一般的な設計パターンまたはアイデアがここにあることを願っているため、最後にのみ言及します)
ありがとう