プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

[書評] 現場で役立つシステム設計の原則 変更を楽で安全にするオブジェクト指向の実践技法 [ 増田亨 ]

システム開発における、設計や実装方法のノウハウを書いた本です
「こうしなきゃいけない。」ではなく、「こうするべきだ。」という理想論を書いてます。

ある程度の経験を経てからでないと、意味が理解できず、読んでいても楽しくないと思います。
逆にいくつかのプロジェクトを経験した人なら、なるほどという記述があります。

実装サンプルとしてjavaが使われており、springフレームワークも突然登場します。

springフレームワークや、類似のフレームワークに触れたことがない人は、その特殊な実装に混乱するかもしれません。

なんでnewしてないのに、オブジェクト使ってるんだ!みたいな(@Autowired)

筆者はこの本全体で、オブジェクト指向的な設計、実装について、ドメインモデルを推しています。

プロパティ、変数だけのデータモデルではなく、そのデータに関する機能も含んだドメインモデルを使うべきだと。

その考えには私も賛成ですが、実際のところ、いろんなフレームワークでは、データを入れるデータモデルと、それを操作するリポジトリクラスなどの操作クラス、そしてビジネスロジックを実装するサービスクラスやロジッククラスと言うように明確に分けています。

プロジェクトのルールとしてもそれに準じることが普通なわけで、なかなかドメインモデルを、推進していくことは難しいのではないかと思います。

また、実装設計として、クラスは小さく分割、階層は浅くすべきとしています。

これもその通りですが、実際はその加減が難しく、細かくしすぎると管理が難しくなり、逆にスパゲッティ構造と変わらなくなってしまいます。

この本で語るのはあくまでも理想論だと思うので、その中から適用できるものがあれば採用していけばいいと思います。

リファレンス本というよりは、まずは読み物として、サラサラっと読んでいけば、目に留まるところが何箇所かありますので、その部分を詳しく読み、考えてみるのが個人的にオススメ。

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法

現場で役立つシステム設計の原則 変更を楽で安全にするオブジェクト指向の実践技法 [ 増田亨 ]

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です