in

TimberLandChapel.com Community Stage

技術者はたゆまぬ努力と一瞬のひらめき。。。
TimberLandChapel は日々研鑽する技術者をサポートします。DevPartner U.G. を立ち上げました。(2007.08.20)

機能分割と責務によるクラス分割

最新の投稿は、投稿日時: 2005-11-25 19:24 投稿者: timberlandchapel です。スレッドには 1 件の返答があります。
ページ 1 / 1 (2 アイテム)
投稿のソート: 前へ 次へ
  • 2005-11-25 10:58

    • nyanta
    • 貢献度トップ 10
    • 登録日 : 2005-06-28
    • 投稿数 107

    機能分割と責務によるクラス分割

    nyantaです。

    オブジェクト指向って、様々な単語を勉強しないといけないようですが、いま「責務」という単語の理解に苦しんでおります。

    「いままでの機能分割と、責務によるクラス分割は異なります。」

    っていきなりいわれても何のことやら。責務って何なんですか?

    先輩からは、「機能ではなくて、処理に注目して分割することがクラス分割すること」といわれたりしましたが、処理と機能の違いってどういうことなんでしょうか?

  • 2005-11-25 19:24 返答元:

    Re: 機能分割と責務によるクラス分割

     nyanta wrote:

    nyantaです。

    先輩からは、「機能ではなくて、処理に注目して分割することがクラス分割すること」といわれたりしましたが、処理と機能の違いってどういうことなんでしょうか?

    お疲れ様です。考え方の問題で難しいですね。

    ここでは,僕の考えを書いてみます。

    「にゃんたさんに宅急便を送る」というタスクがあったとします。

    これを機能分割 TLC と 責務分割 TLC にしてみましょう。

    機能分割 TLC は

    「送り先を指定して,送る荷物を指定して,送る」

    という機能を提供します。

     

    一方で,責務分割 TLC は,

    「送る」ことを自分の責務として担当します。

    すると,メインのメソッドは「Send」になると思います。

    送り先や送る荷物は,責務の一部として既に「知っていれば」要求者にたいして隠蔽することができます。

    「知らなければ」送り先を設定するセッター,送る荷物を設定するセッターなどを作るのかと思います。

    いずれにしろ,メインの責務は「送る」ことであって

    送り先や送るものは隠蔽される可能性があるってところでしょうか。

    ちょっと話がそれてしまった感じですかね。。。

    <-------------------------
     TimberLandChapel
     TimberLandChapel.com Community Stage Administrator
    --------------------------->
ページ 1 / 1 (2 アイテム)
Powered by Community Server (Non-Commercial Edition), by Telligent Systems
Test