私はSOLIDの原則に従って設計するように一生懸命努力しています。私が見つけたのは、「単一責任の原則」(SOLIDのS)を使用する場合、通常、データコンテナとデータプロセッサの間でクラスを分割する必要があるということです。たとえば、すべてをクラス内に配置するのではなく、DBから読み取られる5つのプロパティを持つクラスpersonがある場合、プロパティを持つPersonクラスと、データベースからその情報を読み取ってPersonを作成する別のPersonReaderクラスを作成します。
その場合、PersonReaderがアクセスできるように、Personプロパティを開く必要がありますが、すべてをブラックボックスに入れてプロパティを読み取り可能にするよりも、カプセル化が少なくなります。
私は何かが足りないのですか、それともこれはこの原則の欠点ですか?
前もって感謝します
編集:最初にプロパティセッターを公開する必要がなかったので、私はパーソンライターをパーソンリーダーに変更しました。