facebook twitter hatena line email

Java/デザインパターン/デザインパターンとは

提供: 初心者エンジニアの簡易メモ
2024年7月4日 (木) 14:21時点におけるAdmin (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

Gof(gang of four)の23のパターン

  • Iteratorパターン
  • Adapterパターン
クラスの独立性を維持したまま複数のクラスを接続するパターン。
継承 or 委譲する方法がある。
  • Template Methodパターン
継承して実行する際に、大体の処理を親クラスに委ねるパターン。
  • Factory Methodパターン
factoryでインスタンスを返す
  • Singletonパターン
そのクラス内でのオブジェクトを1つに制限するパターン
  • Prototypeパターン
自分自身をコピーして渡すパターン
細胞分裂な感じ
  • Builderパターン
  • Abstract Factoryパターン
  • Bridgeパターン
  • Strategyパターン
  • Compositeパターン
再起処理に適したパターン。folderとfileで同じインターフェイスを使えるなど
  • Decoratorパターン
あるクラスに動的にフィルターをかませるパターン
  • Visitorパターン
  • Chain of Responsibilityパターン
  • Facadeパターン(ファサード
いろいろなクラスへ処理を委譲するようなパターン。自身は処理を他クラスへ渡すだけ
コンポジションしただけ
  • Mediatorパターン
仲裁人、調停者
クラスが5つあったとすると、4つのクラスが1つのクラスと相互に関連を持ち合っているパターン
  • Observerパターン
  • Mementoパターン
  • Stateパターン
  • Flyweightパターン
  • Proxyパターン
  • Commandパターン
  • Interpreterパターン
ドメイン特化言語のパーサ

神クラス回避

Template Methodパターンで、親クラスが、万能なクラスになっていて、子クラスで、カスタマイズする感じなのが、神クラス。

回避用法としてはStrategyパターンで、独立クラスを作り、呼び出すのが良い。

参考:http://www.aerith.net/design/TemplateMethod-j.html