【GOFデザインパターン】デザインパターン再入門その1 現状把握編

  • 2014.05.11 Sunday
  • 11:43

GOFのデザインパターンを勉強しなおそうと思いまして、とりあえず現状の知識レベルがどの程度か把握するためにテストを作成しまいた。

問1 以下、のGOFデザインパターンを簡単に説明せよ。

Abstract Factory
Adapter
Bridge
Builder
Chain of Responsibility
Command
Composite
Decorator
Facade
Factory Method
Flyweight
Interpreter
Iterator
Mediator
Memento
Observer
Prototype
Proxy
Singleton
State
Strategy
Template Method
Visitor

回答

Abstract Factory
 具体的な生成は具象クラスが提供するが、利用者は共通のインスタンス生成を保証するパターン。
Adapter
 異なる型同士を中継するアダプターを提供するパターン。
Bridge
 特定のロジックだけを抜き出し、再利用するパターン。
Builder
 複数の型が関連する複雑なインスタンス生成するパターン。
Chain of Responsibility
 状態をリポジトリに保存・取得するパターン。
Command
 複数のロジックを共通の実行形式にするパターン。
Composite
 再帰的な構造をとるパターン。
Decorator
 インスタンスを特定の状態にするパターン。
Facade
 システムの呼び出し口を一つにするパターン。
Factory Method
 ・・・。いつも忘れる。
Flyweight
 なんだっけ(笑)
Interpreter
 こんなのあったけ(笑)
Iterator
 コレクションの列挙する構造を提供するパターン。
Mediator
 こんなのあったけ(笑)
Memento
 思い出せない・・・。
Observer
 状態の変更を通知する構造を持つパターン。
Prototype
 うん・・・。
Proxy
 Adapterとほぼ同じ・・・提供する側かされる側が用意するのかで名前が変わったような。
Singleton
 インスタンスが一つであることを保証するパターン。
State
 あれ?StateとStrategyの片方しか思い出せない。
Strategy
 状態により振る舞いを変えるパターン。
Template Method
 特定の振る舞いを抽象化する構造を持つパターン。
Visitor
 ロジックと状態を分離する構造を持つパターン。

正解(Wikiを参考にしました。http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2))
Abstract Factory
 関連する一連のインスタンスを状況に応じて適切に生成する方法を提供する。
Adapter
 元々関連性のない2つのクラスを接続するクラスを作る。
Bridge
 クラスなどの実装と、呼出し側の間の橋渡しをするクラスを用意し、実装を隠蔽する。
Builder
 複合化されたインスタンスの生成過程を隠蔽する。
Chain of Responsibility
 イベントの送受信を行う複数のオブジェクトを鎖状につなぎ、それらの間をイベントが渡されてゆくようにする。
Command
 複数の異なる操作について、それぞれに対応するオブジェクトを用意し、オブジェクトを切り替えることで操作の切替えを実現する。
Composite
 再帰的な構造を表現する。
Decorator
 あるインスタンスに対し、動的に付加機能を追加する。Filterとも呼ばれる。
Facade
 複数のサブシステムの窓口となる共通のインタフェースを提供する。
Factory Method
 実際に生成されるインスタンスに依存しない、インスタンスの生成方法を提供する。
Flyweight
 多数のインスタンスを共有し、インスタンスの構築のための負荷を減らす。
Interpreter
 構文解析のために、文法規則を反映するクラス構造を作る。
Iterator
 複数の要素を内包するオブジェクトのすべての要素に順にアクセスする方法を提供する。反復子。
Mediator
 オブジェクト間の相互作用を仲介するオブジェクトを定義し、オブジェクト間の結合度を低くする。
Memento
 データ構造に対する一連の操作のそれぞれを記録しておき、以前の状態の復帰または操作の再現が行えるようにする。
Observer (出版-購読型モデル)
 インスタンスの変化を他のインスタンスから監視できるようにする。Listenerとも呼ばれる。
Prototype
 同様のインスタンスを生成するために、原型のインスタンスを複製する。
Proxy
 共通のインタフェースをもつインスタンスを内包し、利用者からのアクセスを代理する。Wrapperとも呼ばれる。
Singleton
 あるクラスについて、インスタンスが単一であることを保証する。
State
 オブジェクトの状態を変化させることで、処理内容を変えられるようにする。
Strategy
 データ構造に対して適用する一連のアルゴリズムをカプセル化し、アルゴリズムの切替えを容易にする。
Template Method
 あるアルゴリズムの途中経過で必要な処理を抽象メソッドに委ね、その実装を変えることで処理が変えられるようにする。
Visitor
 データ構造を保持するクラスと、それに対して処理を行うクラスを分離する。

コメント
う〜ん。大分、間違えてます。うん、ブログに載せるの恥ずかしいけど、これから再勉強して、マスターするどー。

コメント
コメントする








    
この記事のトラックバックURL
トラックバック

calendar

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
<< September 2017 >>

あわせて読みたい

あわせて読みたいブログパーツ

selected entries

categories

archives

recent comment

  • 【キーボード】6年前のRealForceを復活させることはできる!?その3
    art55 (05/22)
  • 【キーボード】6年前のRealForceを復活させることはできる!?その3
    分解大好き (05/18)
  • 【.NET Framework 4.5】 IListがIReadOnlyListを継承してない理由。
    art55 (02/04)
  • 【.NET Framework 4.5】 IListがIReadOnlyListを継承してない理由。
    Gen (02/04)
  • 【キーボード】RealForce が壊れて帰ってきた。
    art55 (04/29)
  • 【.NET Framework 4.5】 IListがIReadOnlyListを継承してない理由。
    art55 (02/23)
  • 【.NET Framework 4.5】 IListがIReadOnlyListを継承してない理由。
    かるあ (02/22)
  • 【C#】Dictionaryの実装・データ構造・アルゴリズムを観察する。
    art55 (01/16)
  • 【C#】Dictionaryの実装・データ構造・アルゴリズムを観察する。
    karuakun (01/16)
  • 【NetOffice】【Excel】死なないExcelプロセスをKillする。
    art55 (12/05)

recent trackback

recommend

recommend

recommend

C#プログラマのための.NETアプリケーション最適化技法 (Programmer's SELECTION)
C#プログラマのための.NETアプリケーション最適化技法 (Programmer's SELECTION) (JUGEMレビュー »)
Sasha Goldshtein,Dima Zurbalev,Ido Flatow,サシャ・ゴルドシュタイン,ディマ・ズルバレフ,イド・フラトー

recommend

ろんりと集合
ろんりと集合 (JUGEMレビュー »)
中内 伸光
とてもわかりやすいです。

recommend

recommend

シャノン・ノイマン・ディジタル世界
シャノン・ノイマン・ディジタル世界 (JUGEMレビュー »)
市川 忠男
4章がリレーショナルデータベースな内容になってます。ページ数があまりありませんが、ポイントがものすごく的確にまとまっていて、感動します。

recommend

recommend

東プレ Realforce91UBK-S 静音キーボード 静電容量無接点方式 変荷重 ブラック NG01BS
東プレ Realforce91UBK-S 静音キーボード 静電容量無接点方式 変荷重 ブラック NG01BS (JUGEMレビュー »)

テンキーレス、静音のRealForce91UBK-S。スコスコ感がたまらなく気持ちいいです。家と会社で2台持ってます。

recommend

recommend

プログラミング.NET Framework 第4版 (プログラミングシリーズ)
プログラミング.NET Framework 第4版 (プログラミングシリーズ) (JUGEMレビュー »)
Jeffrey Richter
発売予定美 2013年10月10日。.NET Frameworkとお付き合いする人のバイブルですね。

recommend

recommend

キャット・シッターの君に。
キャット・シッターの君に。 (JUGEMレビュー »)
喜多嶋 隆
私のイラストレータデビュー本です。

recommend

Essential .NET ― 共通言語ランタイムの本質
Essential .NET ― 共通言語ランタイムの本質 (JUGEMレビュー »)
ドン・ボックス,クリス・セルズ,Don Box,Chris Sells,吉松 史彰

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM