【夏休みも】本家京都大学スレPART12【徹夜でアニメ】at STUDENT
【夏休みも】本家京都大学スレPART12【徹夜でアニメ】 - 暇つぶし2ch360:だぷー ◆EqCqHM9ggg
08/09/07 11:30:08
>>286
AFは一連のオブジェクト群を作成して結果的に一つのオブジェクトを構成しようとするが、
FMはその一連のオブジェクト群から成る一つのオブジェクトを生成する。
FMでは生成され得るオブジェクトのあらゆるパターンに対してそれぞれクラスを準備しておくが、
AFはオブジェクトの各パーツ毎にどれを選択するかをファクトリが選択する。

ファクトリを使わず露骨にnewするということは実装に対してプログラミングすることになりOOの原則に反する。
もちろん、どこかの段階でnewしなければならないが、それならnew専用クラスを作ることで
新たにnewしたいものがでてきてもそのクラスをいじるだけですむので保守が楽。
例えば、クラスAでB1をnewしてbで参照することにする。bをインターフェースや抽象型にすると、bを使って何かする部分のコードは不変にできる。
ここで将来的に不変でなくなる可能性があるのはbが実際に何を参照するかということ。
こういう不変な部分を切り離してカプセル化することで、その部分をいじるだけでコードを拡張できる。
将来、同じインターフェースや抽象型を実装するB1,B2,B3がでてきても、bをその型で宣言すればそのクラスをいじる必要はなくなる。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch