BETA

現場で役立つシステム設計の原則 3章

投稿日:2019-04-28
最終更新:2019-04-28
  • DTOとかJavaBeansとかプロパティ、getter/setterしか持たないのではなく、オブジェクト指向としてはどうなのか?を考慮する。
  • レイヤードアーキテクチャに限らないが、気をつけないとどこの層でもJavaBeansを使うビジネスロジック書けてしまうのが問題
  • 下手したらどこをなおせばいいの?ってなってしまいかねない、というのと、もしかしたらコードが重複してる可能性がある。
  • データクラスと機能クラスを分けるのは、オブジェクト指向的にもあっていない。

オブジェクト指向の設計は改善の繰り返しです。最初から良い設計が見つかるわけではありません。

  • データクラスと機能クラスを合体すると、クラスが肥大化して見通しが悪くなってしまうこともある。ここで、インスタンス変数とメソッドが結びついているもの見出して、別クラスに切り出すと、凝集度が高くなる。
  • クラスをわけていくと数も多くなるので、ここでパッケージの見直しを行い、分かりやすいパッケージ構成にして、クラスを管理しやすくする。
  • 3層に散らばってしまいがちなデータクラス、機能クラスをドメインオブジェクトとしてまとめて、3層からはドメインオブジェクトを利用するようにする。
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

yodai_u_uの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!