ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ナイーブなオブジェクト指向2

コメントを受けて
業務アプリケーションをおおくくりに役割分担すると

  • プレゼンテーション層
  • 業務ロジック層(サービス層)
  • データアクセス層

に分割されるのは、別に私がいってるだけでなく、広く世の中に認識されていることではないでしょうか。
データベースにアクセスするクラスと業務ロジックを扱うクラスは、明らかに役割が異なると思います。ただし、役割という言葉もあいまいなところがあって、サービスを提供するなんてことが役割だとするとなんでもありの世界になります。
データベースにアクセスするクラスと業務ロジックを扱うクラスという役割分担もおおくくりな物なので、さらに、Entity, DTOごとにデータベースにアクセスするクラスは分割され、業務ロジックを扱うクラスも業務機能(海面レベルのユースケース)ごととにさらに役割分担されるわけです。
役割(責任)を細分化することは、クラスの設計としては、望ましいことだと思います。
大きなクラスよりも。