[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 16:29 / Filesize : 193 KB / Number-of Response : 612
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

「【GoF】デザインパターン 6



369 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 14:41:39 ]
>>293の元設計の問題点(つづき2)
(2-1. Bridgeパターン・スパゲティ (クラスの過剰な分割によるOOモデルの崩壊))

 >>293のコード(及び>>304の補足コード)は、その字面の単純さにもかかわらず、
 挙動を読み取りにくく、保守性/拡張性が低い。(前提条件の変化に対し柔軟性が低い)

 (1)挙動を読み取りにくくなる原因:
  原因(1-1) データと処理の分離記述による、カプセル化の破壊。
 (2)保守性が悪い原因:
  原因(2-1) カスタマイズ内容のハードコーディング。
     クラス選択の変更や、クラスの新規追加の度に、コード修正が必要になる。
 (2)前提条件の変化に対し柔軟性が低くなる原因:
  原因(3-1) モデルの過剰な単純化により、現実世界の複雑な問題に適応できなくなる。

 以下では、その原因を探る。
 原因(1-1)データと処理の再分離による、カプセル化の破壊
    オブジェクト指向では、データとその処理をカプセル化し、クラスを導入する事で
    (1)データ操作の局所性
    (2)外部操作インタフェースの限定、
    (3)型システムによる安全性/信頼性の向上
    が可能になり、それを利用してプログラムの信頼性/可読性/保守性の向上を図れる。

    しかし>>293,>>304のコードでは、
    データ(Hanzai及びバリエーション)と処理方法(〜Processor)を別々のクラスに分離記述した後、
    関連するデータクラスと処理クラスを適切な方法で再カプセル化しなかったため、
    オブジェクト指向のメリットが得られなくなっている。(非OO的コード)






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<193KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef