设计模式说明(中日参照)

来源:互联网 发布:李炎恢js视频教程 编辑:程序博客网 时间:2024/05/04 04:48
 パターン名 目的実例创建型Abstract Factory抽象工厂   

互いに関連したり依存しあうオブジェクト群を、その具象クラスを明確にせずに生成するためのインターフェイスを提供する。

3.1 Factory Method と Abstract Factory Builder建造者複合オブジェクトについて、その作成過程を表現形式に依存しないものにすることにより、同じ作成過程で異なる表現形式のオブジェクトを生成できるようにする。GridBagLayout サンプル Applet のソース 
通信オブジェクト・クラス Factory Method工厂方法オブジェクトを生成するときのインターフェイスだけを規定して、実際にどのクラスをインスタンス化するかはサブクラスが決めるようにする。Factory Method パターンは、インスタンス化はサブクラスに任せる。3.1 Factory Method と Abstract Factory Prototype原型生成すべきオブジェクトの種類を原型となるインスタンスを使って明確にし、それをコピーすることで新たなオブジェクトの生成を行う。  Singleton单例あるクラスに対してインスタンスが1つしか存在しないことを保証し、それにアクセスするためのグローバルな方法を提供する。3.4 Singleton 
プロパティ・ライブラリ 
SQL操作ライブラリ结构型Adaptor适配器あるクラスのインターフェイスを、クライアントが求める他のインターフェイスに変換する。Adaptor パターンは、インターフェイスに互換性のないクラス同士を組み合わせることができるようにする。プロパティ・ライブラリ Bridge桥接抽出されたクラスと実装を分離して、それらを独立に変更できるようにする。何はなくともビジネスロジック(2) Composite组合部分-全体階層を表現するために、オブジェクトを木構造に組み立てる。Composite パターンにより、クライアントは、個々のオブジェクトとオブジェクトを合成したものを一様に扱うことができるようになる。  Decorator装饰オブジェクトに責任を動的に追加する。Decorator パターンは、サブクラス化よりも柔軟な機能拡張方法を提供する。  Facade外观サブシステム内に存在する複数のインターフェイスに1つの統一インターフェイスを与える。Facade パターンはサブシステムの利用を容易にするための高レベルインターフェイスを定義する。ソケット操作ライブラリ Flyweight享元多数の細かいオブジェクトを効率よくサポートするために共有を利用する。  Proxy代理あるオブジェクトへのアクセスを制御するために、そのオブジェクトの代理、または入れ物を提供する。 行为型Chain of Responsibility责任链1つ以上のオブジェクトに要求を処理する機会を与えることにより、要求を送信するオブジェクトと受信するオブジェクトの結合を避ける。受信する複数のオブジェクトをチェーン状につなぎ、あるオブジェクトがその要求を処理するまで、そのチェーンに沿って要求を渡していく。  Command命令要求をオブジェクトとしてカプセル化することによって、異なる要求や、要求からなるキューやログにより、クライアントをパラメータ化する。また、取り消し可能なオペレーションをサポートする。  Interpreter解释器言語に対して、文法表現と、それを使用して文を解釈するインタプリタを一緒に定義する。  Iterator迭代器集約オブジェクトが基にある内部表現を公開せずに、その要素に順にアクセスする方法を提供する。3.2 Iterater 
イテレータ Mediator中介者オブジェクト群の相互作用をカプセル化するオブジェクトを定義する。Mediator パターンは、オブジェクト同士がお互いに明示的に参照し合うことがないようにして、結合度を低めることを促進する。それにより、オブジェクトの相互作用を独立に変えることができるようになる。3.7 AWTプログラムの実例 
メディエーター・クラス Memento备忘录カプセル化を破壊せずに、オブジェクトの内部状態を捉えて外面化しておき、オブジェクトを後にこの状態に戻すことができるようにする。  Observer观察者あるオブジェクトが状態を変えたときに、それに依存するすべてのオブジェクトに自動的にそのことが知らされ、また、それらが更新されるように、オブジェクト間に一対多の依存関係を設定する。3.3 Observer 
タイマ・ライブラリ State状态オブジェクトの内部状態が変化したときに、オブジェクトが振る舞いを変えるようにする。クラス内では、振る舞いの変化を記述せず、状態を表すオブジェクトを導入することでこれを実現する。ステータス・クラス Strategy策略アルゴリズムの集合を定義し、各アルゴリズムをカプセル化して、それらを交換可能にする。Strategy パターンを利用することで、アルゴリズムを、それを利用するクライアントからは独立に変更することができるようになる。SQL操作ライブラリ Template Method模板方法1つのオペレーションにアルゴリズムのスケルトンを定義しておき、その中のいくつかのステップについては、サブクラスでの定義に任せることにする。Template Method パターンでは、アルゴリズムの定義を変えずに、アルゴリズム中のあるステップをサブクラスで再定義する。プロトコル基底クラス Visitor访问者あるオブジェクト構造上の要素で実行されるオペレーションを実現する。Visitor パターンにより、オペレーションを加えるオブジェクトのクラスに変更を加えずに、新しいオペレーションを定義することができるようになる。通信オブジェクト・クラス


创建型  

  • Abstract Factory
  • Builder



  • Factory Method


  • Prototype


  • Singleton


结构型

  • Adaptor
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy


行为

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator 1つ1つ数え上げる Iteratorパターンは集約オブジェクトの種類や実装に依存しない、統一的な走査方法を提供したいような場合に利用するとよいでしょう。

    意图:

    提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。

    适用性:

    访问一个聚合对象的内容而无需暴露它的内部表示。

    支持对聚合对象的多种遍历。

    为遍历不同的聚合结构提供一个统一的接口(即,支持多态迭代)。
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Methodclip_image014
  • Visitor



原创粉丝点击