これは簡単なものです。OOD:オブジェクトの識別に問題があります
私が非常に単純なタイムクロックアプリケーションを設計しているとしましょう。ユーザは自分のIDを入力し、アプリケーションは彼に1週間の時間を示し、1時間の時間を示し、その後、彼が私たちの中にパンチすることを可能にする。従業員が現在パンチインされているかどうかを知るには十分にスマートです。休憩や昼食やシフトなどはありません。
私は従業員を持っています。私は複数のEventRecordsを持つタイムカードを持っています。私はもちろん時間を維持するTimeclockを持っていますが、モデル全体(おそらく)のフロントエンドの一種です。
従業員がタイムカードを持っているか、タイムカードが従業員を参照していますか?
タイムカードは、その日の時間などを計算する責任がありますか?
タイムクロックは、従業員とタイムカードをインスタンス化して関連付ける必要がありますか?
TimeclockはpunchInとpunchOutを行うべきですか、それともEmployeeであるべきですか?
+1 ::このケースではもっと簡単だと思います。 – garrow
それはどれほど頻繁に起こるのでしょうか? ;) – Guffa
私はあなた自身に向かって漂っている最初の解決策だったので、私はあなたがこれに答えてくれてうれしいです。しかし、この問題の定義が拡大するにつれて、私はEmployeeにコードをダンプしておくように誘惑されてしまいます。 – Boden