search
LoginSignup
17

More than 1 year has passed since last update.

posted at

updated at

マンガでわかる機能的分解アンチパターン

07563311-DCD9-400D-AA55-21158EB9D3B0.png
http://wiki.c2.com/?FunctionalDecomposition

オブジェクト指向にかぎらず、大きな仕事があるからといって、単純にタスクを分割しただけでは、情報のやりとりが非効率になることがよくあります。

長い手続きを何の考えもなしにオブジェクトに分けてしまうと、グローバル変数を使うサブルーチンのようになってしまいます。つまり、元のスコープからアクセスしていた情報を共有するために、引数が無駄に多かったり、あるいは大きなコンテキストになったり、乱暴なパブリックフィールドアクセスが起きたり、といったことが起こります。

仕事をオブジェクトに分けましょうというのは、責務の専門性でグルーピングするということです。どこから何を参照するかの関係線が最少になるようにし、意味がわかるようにメタファーでくくるようにしましょう。

それぞれの社員が、プロダクトの開発と営業をどちらもやるのではなく、開発者は倍の開発を、営業マンは倍の営業をすると偏らせるほうが、どう考えても正常ですよね

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
17