タグ

OOPとstrategyに関するkiyo_hikoのブックマーク (3)

  • C# Tips: interface を 抽象クラス (abstract class) とどう使い分けるか (プログラミング C# - 翔ソフトウェア (Sho's))

    # 久々に技術ネタを書いてみる。 # と言っても、某掲示板で使ったネタの使い回し。 C++ にはなかった新しいキーワードとして、C# では interface というものが出てくる。 interface は、Java ではおなじみのキーワードだ。 例. interface ICloneable { object Clone(); } interface では公開されているメソッドとプロパティの外見 (名前、パラメータ、戻り値) だけが宣言されていて、実装部分が定義されていない。実装部分は、その interface を実装するクラスによって定義される。 例. class Employee : ICloneable { private string name; public string Name { get { return name; } set { name = value; } } p

    kiyo_hiko
    kiyo_hiko 2012/04/17
    「実際の設計では、State/Strategyパターンを使おう→じゃinterface を使おうとはならない」 / ConcreteStrategyに状態を持たせるならAbstractStrategy書いて共通のフィールドは書いてしまうかな。それが設計としていいのかダメかは謎い
  • Adapter Pattern

    kiyo_hiko
    kiyo_hiko 2012/03/15
    「Adapter Pattern and Strategy Pattern - We can simply replace the adapters objects at run time because they implements the same interface.」…何となく似てるとは思ってた。Strategyもインターフェースを一緒にするという意味で
  • StateパターンとStrategyパターンは何が違うのか考える | Tricorn Tech Labs

    最近、物欲に目覚めてしまってAmazonでいろいろ買ってたら、今月の請求が7万を超えて素に戻ってしまった戸田です。 ちょっとbluetoothデバイスに凝り始めてしまって…。(汗) さて、オブジェクト指向設計のバイブルと言えば、いわずと知れたGoF(オブジェクト指向における再利用のためのデザインパターン、Erich Gamma, Ralph Johnson, Richard Helm, John Vlissides著、ソフトバンククリエイティブ刊)です。 ここで紹介されている23のパターンはどれも小手先のテクニックではなく、エッセンスが抽出されており応用範囲が広いものばかりです。 なによりも今まで暗黙知になりがちな、設計の定石・パターンに共通の名称(言語)を与えて、名称による概念の共有ができるようになったという功績は計り知れません。 もちろん、KREISELにおいてもこれらのパターンを活

    StateパターンとStrategyパターンは何が違うのか考える | Tricorn Tech Labs
    kiyo_hiko
    kiyo_hiko 2011/05/20
    StateとStrategyの違い。両者とも煩雑な分岐を避けるという効果は共通:分岐はオブジェクトでも、式ですらないからオブジェクト指向的にはノイズっぽい。Stateはオブジェクトが動的に切り替わる性質が強調されるんですね。
  • 1