Document-Based Applications Guideによると、DocumentController、Document、および WindowController が必要です。私が苦労しているのは、与えられた責任がどこにあるべきかを判断することを学ぶことです.
My Document は todo リストを表します。特定の todo リストがドキュメントによってメモリに読み込まれ、WindowController によって表示されます。いつでもウィンドウに収まる todo の数は、ウィンドウのサイズによって決まるため、todo を表示する必要がある場合、WindowController は Document に、表示されているリストを満たすのに十分な数の todo を要求します。
必要に応じて、正規表現を使用して ToDo を検索できます (私は知っていますが、その通りです)。一致したものが上位の結果として返されます。この場合、責任の所在がはっきりしません。Document は todo リストの保存と読み込みを処理しますが、上記では、リストの小さな部分を WindowController に返すことも処理するように要求しました。その場合、一致するロジックをドキュメントに入れる必要がありますか? それとも、データの保存と読み込みとは関係がないため、これは WindowController にとどめるべきですか (検索後の todo の順序はディスクに保存されません)。これらは、私が自問自答している種類の質問です (私自身)。このようなプロジェクトを振り返ると、自分の判断が互いに矛盾しているように見える場所に気づきます。2 つの間で 1 ビットのロジックを移動するだけで 1 時間かかることもあります...
明らかに助けが必要です。
私の例は非常に特殊な状況のものですが、特定の解決策には興味がありません。私は、これら 3 つのクラスの責任がどうあるべきかを、より一般的な用語で知りたいと思っています。ガイドを読み、少しグーグルで調べましたが、まだそれを理解できないようです.
この質問は役に立ちましたが、まだ混乱しています。
ありがとう!