私はNSWindowController
、急速に大きくなり始めている に取り組んでいます。しかし、私が取り組んでいるコントローラーの良い点の 1 つは、それがかなり部分的であることです。その一部は論理的に分離することができます。
このコントローラをカテゴリに分けて、見つけやすくしたいと思います。この目的でカテゴリを使用することに関する一般的なコンセンサスは何ですか? ありますか?Apple が実際に同様のパターンを使用している例はありますか?
私はNSWindowController
、急速に大きくなり始めている に取り組んでいます。しかし、私が取り組んでいるコントローラーの良い点の 1 つは、それがかなり部分的であることです。その一部は論理的に分離することができます。
このコントローラをカテゴリに分けて、見つけやすくしたいと思います。この目的でカテゴリを使用することに関する一般的なコンセンサスは何ですか? ありますか?Apple が実際に同様のパターンを使用している例はありますか?
これは個人的な好みです。
昔 (1970 年代) のプログラマーとして、私はどのファイルも 1 ページに収めるのが好きです - 実際には Objective C で、私の上限は 300 ~ 400 行です。
スパゲッティ コードでいっぱいのモノリシックな FORTRAN プログラムを書いているエンジニアの不幸な思い出があります。
ファイル サイズを制限したり、カテゴリを使用したりすることに本質的な利点はありませんが、コードの理解と保守が容易になるのであれば、価値があります。
クラスを使用することが可能であれば、これを考慮する必要があることに同意します。また、メソッドではなく関数を使用するとコードが簡素化されるかどうかも検討する必要があります。これらは別のファイルに入れることができます。
私は両方NSWindowController
にカテゴリを使用しNSViewContorller
ましたが、あるケースでは、2000 行のコードを 5 つのカテゴリに減らしました。これは結果のコードには影響しませんが、コーディングが容易になることは確かです。
Apple のサンプルを見ることもできます (カテゴリの例もいくつかあります) が、フレームワークでは、基礎となるコードがどのように記述されているかを知る方法がありません。
便利な方法でファイル サイズを制限することをお勧めします。