Nov19th

デザインパターン のバックアップ差分(No.2)

Top / デザインパターン


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*パターン別まとめ [#se791222]
**Abstract Factory [#a4034398]
-特定のクラス名で固定されていると、生成コードを全て書き換える必要が出てくるので、一カ所にまとめる
--生成部は全てfactory.createProductA()になり、createProductA()内のnew ProductA()を書き換えるだけで修正可能に
--//サンプル

-Template Methodだと生成部のコードが書き換わらない()

-Abstract Factoryでは、ユーザにConcrete Factoryだけを見せることはできない
-Product数を柔軟に変えることはできない
-Abstract ProductとConcrete Productは1対1
--Concrete FactoryでswitchすればProductNの中身は差し替えられるかもしれないが

-Abstract FactoryとFactory Methodの差は生成するクラスの型が分かるか分からないかの違い?

-ファクトリパターンで作るクラスのクラス名自体はハードコーディングせざる得ない?
--typeidで何とかなるかもしれない
--Abstract Factoryがそれっぽいことやってそうな感
---http://www.geocities.jp/showa_yojyo/note/alexandrescu01-note3.html#id5
---Modern C++ Designに書いてある模様