Flex、AIR、Java、Androidなど

1月23日 2009

Fecadeパターン、Mediatorパターン、Observerパターン

Posted by: tachibana In: プログラミング

Fecadeパターン - 自分なりの結論:

これまでもやってきた通り、プロジェクト内では常にクラス同士の結び付けを出来るだけ弱めたり、再利用されたり一部だけの実装を回りに影響が無く出来るようにすることが求められる。Facadeパターンはメインクラスが行いたい処理を可能な限りそのクラスの中で処理し、メインクラスの負担を下げるような働きをする。これにより更に大きなプロジェクトになった際に組み合わせて威力を発揮するパターンのようなもの。「窓口」となるような役を作ること。

Mediatorパターン - 自分なりの結論:

オブジェクトがあるプロパティを持ち、そのプロパティが変化すると他のオブジェクトのプロパティも変化するようなケースに使う。相互に影響するような関係の場合、何も考えずにプロパティが変われば他のオブジェクトのメソッドを呼びプロパティを変更するようなプログラムを書いてはならない。自分のプロパティによって他のオブジェクトのプロパティを変えるような処理を行うことのあるクラスは、初期化されると同時に状態の変化を管理するクラスを保持し状態の変化は条件の分岐も含めその管理クラスに委譲する(どのオブジェクトのどのプロパティがどうなっていればどのオブジェクトの状態をどうするというような処理も全てこのクラスが行う)。これがMediatorパターン。

Observerパターン - 自分なりの結論:

何らかの機能を持つクラス階層があり、その状態の変化などイベント?を監視したい際、同じく監視するだけが目的のObserver的な階層をつくること。実装のクラスも同様に階層を成すが、メインクラス上では通知は実装のトップに行われる(ように見える)。機能のクラスは他のオブジェクトから渡されたObserverを格納するメソッド、削除するメソッドをスーパークラスが実装している為、サブクラスも自動的にObserverの追加・削除できるようになる。また、Observerに通知するメソッドは抽象でないメソッドとしてスーパークラスに定義される為、メインクラスは機能のクラスをインスタンス化した後、Observerを追加してやってから処理に移る。
EasyFreeAds Blog News Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google Yahoo Buzz StumbleUpon

No Responses to "Fecadeパターン、Mediatorパターン、Observerパターン"

Comments are closed.

Categories

 

2017年9月
« 4月    
 123
45678910
11121314151617
18192021222324
252627282930  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here