私は基本的に5つのビジネスエンティティを使用するアプリケーション、A、BC、DおよびENSDictionariesとプロパティを持つカスタムオブジェクトの違いは何ですか?
- Aは、いくつかの特性を有し、Bの
- Bのリストを保持しているいくつかの他のプロパティとのリストを持っていると書いていますCさんとDの
- Cのリストには、いくつかの他のプロパティとD'sのリストとEの
- Dのリストがあるだけでいくつかのプロパティ
- Eが持っている唯一のいくつかのプロパティ
いずれかの間に継承はありません。 実際のビジネスロジックは含まれていません。オブジェクトは作成され、読み込まれてから、読み取り専用でアクセスされ、それ以上の操作は行われません。
私の自然なコーディングスタイルは、オブジェクト指向を行って、それらのエンティティごとにクラスを書くことになり、リストのNSArraysを使用し、合成された言及した性質を持っています。
コードを読むことができます。
しかし、別のアプローチは、あまりにも明白なようだ:のみNSDictionariesとNSArrays、およびキー/値の代わりのプロパティでの作業を使用します。これはより効率的で、私のiPhoneスタイルのプログラミングに何らかの形で「近づいている」ようですが、明らかに読みにくいコードにつながります。もう一つの利点は、シリアル化のための追加のカスタムエンコーディング/デコードが必要ないことです(JSONを使用してディスクに状態を維持する...) このように、この論文では、後者のアプローチについて話しています。カスタムオブジェクトを使用する...
これは本当にちょうどの質問の問題ですか?あるいは、アプローチの1つに対して、他の議論が好まれるかもしれませんか?ディクショナリだけでメモリ/パフォーマンスが改善されていますか?それは好ましい "Apple Coding Style"ですか? (私はJava/C#から来ています)。
シリアル化の必要性がわかりません。オブジェクトの使用中になぜ必要なのでしょうか? –