web-dev-qa-db-ja.com

(オブジェクト指向)アプリケーション設計アーキテクチャの推奨資料?

可能性のある複製:
ソフトウェアアーキテクチャの理論と実践に関するベストブック?

人生では、15年間1つのことをしてもかまいません。あなたある日目を覚まし、「どうやって歩くの?」に等しいことを尋ねることになります:)

私の具体的な質問は、C#およびOOPへの新規参入者として、対処する必要のある多くの小さな「詳細」に踏み込んでいることです。

VB.NET/cobol/simple php e.t.cで多くのコードを書いても、OOP世界...

そのため、C#の入門レベルの本を読んだり、いくつかのビデオを見たりした後でも、最近、アプリケーションの「ファクトリーモデルの設計」について知りました。

皆さんがアプリケーションデザインアーキテクチャに関するいくつかの資料を読んで、さらに参考にしていただければ幸いです...

12
e4rthdog
13
Billjk

[〜#〜] solid [〜#〜] は非常に良い出発点です。これらは、オブジェクト指向設計の5つの基本原則であり、以下のことを述べています。

  1. 単一責任の原則:オブジェクト(クラス)には単一責任が必要です。つまり、特定のエンティティ/クラスを変更する理由は1つだけです。
  2. オープン/クローズの原則:クラスは拡張用にオープン、変更用にクローズである必要があります。クラス自体はそれほど変更すべきではありませんが、拡張ポイントを提供する必要があるため、将来の実装者がその動作を変更/拡張できます。
  3. Liskov置換の原則:各オブジェクトは、プログラムの正確さを変更することなく、より具体的なサブタイプに置き換えることができます。のように、何かがMammalタイプで機能する場合、TigerおよびPandaタイプでも同様に機能するはずです。
  4. インターフェース分離の原則:Wikiによる「多くのクライアント固有のインターフェースは、1つの汎用インターフェースよりも優れています」。これは、SRPおよび分離された設計とペアになります-単一の汎用エンティティではなく、複数のタスク固有エンティティを優先する必要があります。
  5. 依存関係の逆転の原則:具体的な実装ではなく、契約によって設計する必要があります。これは、contracts(インターフェース)を実装(クラス)ではなく依存関係として渡して渡すことに絞り込まれます。

それらのトピックを読むことで、おそらく新しい質問が生まれ、さらに調査を進めることができるでしょう。 (おそらく)次の重要な概念が含まれるはずです。

23
k.m