设计模式说明(中日参照)
2012-12-06 14:55
218 查看
パターン名 | 目的 | 実例 | ||
创建型 | 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 Method
Visitor
相关文章推荐
- 关于老婆的使用说明书----参照国药标准说明书解释
- “从服务器返回了一个参照”错误的说明
- 关于老婆的使用说明(小心别笑晕过去)----参照国药标准说明书解释
- 通过LINQ和窗口来选择块参照,并且获取块的说明
- 《设计模式》学习笔记0——说明
- 最标准的Linux SWAP分区—参照RedHat官方说明
- 关于老婆的使用说明书----参照国药标准说明书解释
- 设计模式准备之博客结构说明
- 关于《设计模式》与《设计模式沉思录》中提到的“常露齿嘻笑的猫”(Cheshire Cat)的说明
- 极光推送Jpush功能(具体参照官网说明文档,注意此文红色字体)
- 最标准的Linux SWAP分区—参照RedHat官方说明
- Linux下oracle10g安装配置说明
- php addslashes 函数详细分析说明
- 【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置
- TCP端口状态说明ESTABLISHED、TIME_WAIT
- QT中的元对象系统(一):QVariant的简单说明
- 举例说明关于android的xml文件的shape中的属性android:angle取值问题的知识总结
- swfupload 参数说明
- PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
- Android 小应用 - "Smart help" 的设计背景及框架说明