タグ

design_patternsに関するreppetsのブックマーク (5)

  • Visitorパターン

    ダブルディスパッチ Visitorパターンでは、データと処理を分けて、別々のクラスとして作る。そして、この2つのクラスが、互いに相手のメソッドを呼び出すことによって、連係して動作する。この仕組みをダブルディスパッチという。 具体的には、下記のようになっている。Acceptorインターフェースは、データを表す。処理を受け入れるもの、という意味で、Acceptorという名前になっている。Acceptor1, Acceptor2は、Acceptorインターフェースを実装したクラスである。Visitorクラスは、処理を表す。データを1つ1つ訪れて処理を行うもの、という意味で、Visitorという名前になっている。Visitor1は、具体的な処理を記述した、Visitorクラスのサブクラスである。 public interface Acceptor { public abstract void ac

  • Command パターンはやめよう - philosophical

    プログラミングの世界では Command パターンと呼ばれる手法が存在します。 これは GoF 定義の、かなり実用性のあるパターンなのですが、最近は優位点を生かせるような状況じゃないところに適用して、効率を落としているだけみたいな状況を見かけます。 なので、ちょっとネタとして。 Command パターンにはもともと以下のような弊害があります。 ・コマンドをどうやって選択するかが問題 ・execute で渡されるパラメタが一般化されすぎてしまう これを避けるために、Command の具象クラスの属性としてコマンド特有のパラメタを持たせるといったことが行われるのですが、当然この部分は汎用的に記述できないため、Command を呼び出す側ではなく、Command をインスタンスする側で行うことになります。 そうすると、Command を呼び出す時点のコンテキストに依存するパラメタを与えられ

  • キャズムを超えろ! - 団塊~シニア層向けのWeb設計 やっちゃいけない10のUI

    一時期パソコン教室の講師をやっていたことによる経験と、昨今Webサービス運用にあたって中高年層からのクレームなどを自分なりにまとめた結果として、50代以上のユーザに対するWebサービスPCアプリケーションのUI設計における以下10のTIPSを公開してみたいと思う。...といってもたかだか10個で収まる簡単な話ではないので、思いついたら都度追加して行きたい。 ID,ニックネームを考えさせてはいけない。半角英字開始限定は論外 IDやニックネームが思いつかない方が多い。これはシニアに限らず、ITリテラシーがそれほど高くない若年層についても言えること。作る側の人間も「過去にWebで使ったID,Nicknameは全て使っちゃダメ。何か新しいのを考えて入れてみて。」と言われると結構悩んじゃうもの。それと同じ状態に陥ると思っていただけるとわかりやすい。「IDのかわりに電話番号でもいいですよ」というと結

    キャズムを超えろ! - 団塊~シニア層向けのWeb設計 やっちゃいけない10のUI
  • Martin Fowler's Bliki in Japanese - 流れるようなインターフェース

    http://www.martinfowler.com/bliki/FluentInterface.html 2005/12/20 数ヶ月前、Eric Evansと一緒にあるワークショップに参加した。 そこで彼がとあるインターフェースのスタイルについて語ったのだが、 我々はそれを「流れるようなインターフェース(fluent interface)」と名づけることにした。 一般的なスタイルではないが、もっと評価されるべき代物だ。 おそらく例を示したほうがいいだろうから、そうしてみることにする。 一番簡単な例は、EricのtimeAndMoneyライブラリだろう。 時間の間隔を作るには、通常は、以下のようにする。 TimePoint fiveOClock, sixOClock; ... TimeInterval meetingTime = new TimeInterval(fiveOClock,

    reppets
    reppets 2009/12/19
    setterが自身のインスタンスを返すようなパターン。「Fluent interface」or「流れるようなインタフェース」。
  • http://japan.internet.com/webtech/20090519/2.html?rss

    reppets
    reppets 2009/05/24
    セキュアデザインパターン
  • 1