タグ

Design Patternに関するagwのブックマーク (56)

  • ソフトウェアのアーキテクチャについて - threecourse’s blog

    最近、小〜中規模のプログラムを保守性高く記述するにはどうすればよいかが気になっていて、 ソフトウェアのアーキテクチャについて調べていました。 を読んでみる 以下のを浅めに読み通してみました。どのもそれぞれ学ぶべき点があって興味深かったです。 .NETのエンタープライズアプリケーションアーキテクチャ第2版 https://www.amazon.co.jp/dp/B00ZQZ8JNE C#での設計の話。ドメイン駆動設計など、設計に関わるトピックが広く触れられていて良い。 Adaptive Code C#実践開発手法 第2版 https://www.amazon.co.jp/dp/B07DJ2BL4Y C#での実装の話。SOLID原則を中心に、実装に関わるトピックが広く触れられていて良い。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 https://www.a

    ソフトウェアのアーキテクチャについて - threecourse’s blog
  • デザインパターン ~Adapter~ - Qiita

    1. はじめに GoFのデザインパターンにおける、Adapterパターンについてまとめます。 2. Adapterパターンとは Adapterという英単語は、適合させるものという意味になります。 Adapterパターンは、既に提供されているがそのまま使えないものに対し、必要な形に変換して利用するための方式です。 継承を利用した方法と委譲を利用した方法があります。 Wrapperパターンと呼ばれることもあります。Wrapperは包むものという意味になります。 GoFのデザインパターンでは、構造に関するデザインパターンに分類されます。 3. サンプルクラス図 3-1. ~継承を利用した方法~ 3-2. ~委譲を利用した方法~ 4. サンプルプログラム 生徒の名前と年齢を表示するプログラムです。 4-1. ~継承を利用した方法~ 4-1-1. Humanクラス 元々提供されているクラスです。

    デザインパターン ~Adapter~ - Qiita
  • デザインパターン「Factory Method」 - Qiita

    はじめに 投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はFactory Methodパターンになります。 まとめ一覧はこちら Factory Methodパターン Factory Methodとは インスタンスの作り方をスーパークラスで定め、具体的な処理をサブクラスで行うパターンをFactory Methodパターンと呼びます。 オブジェクトの生成と具体的な処理を分離することで、より柔軟にオブジェクトを利用することができます。 Template Methodパターンをオブジェクト生成の場面に適応させたデザインパターンと言えますね。 簡単に言えば、オブジェクト生成を容易にするデザインパターンです。 FactoryパターンとFactory Methodパターン FactoryパターンとFactory Methodパターンでは以下の違いがあります Fa

    デザインパターン「Factory Method」 - Qiita
  • シングルトンパターン

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • デザインパターン編 トップページ●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • dpinfo.html

    目次 はじめに Abstract Classパターン Abstract ClassパターンRuby版 (by 助田雅紀さん) Balkingパターン Before/Afterパターン Futureパターン FutureパターンRuby版 (by 助田雅紀さん) Generation Gapパターン Hook Operationパターン Hook OperationパターンRuby版 (by 助田雅紀さん) Immutableパターン Marker Interfaceパターン Monostateパターン MonostateパターンRuby版 (by 助田雅紀さん) MonostateパターンPerl版 (by 宮川さん) Null Objectパターン Null ObjectパターンとSingletonパターン Producer-Consumerパターン Sharableパターン Singl

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    agw
    agw 2013/03/02
    CAdapterのコンストラクタでのnewを伴ったメンバ変数の初期化にビビった
  • デザインパターンの骸骨たち

    『デザインパターン』 うんちくできると、かっこよさそうだよね~。でもあんな分厚い読んでもピンとこないし、だいたいオブジェクト指向ってなに?なにが便利なのかよく分からんのだけど。いいじゃんなんでも。できればいいんだよ、できれば。 な~んて、思っていても、なんとなく オブジェクト指向が気になっている システム開発者は、多いのではないでしょうか?かくいう 私もそんな者の一人でした。 しかし、これだけ もてはやされているオブジェクト指向です。 なんか、便利なはずです。 そこで、私は、GOFのデザインパターン[1]を、できるだけシンプルに表現した、小さな小さなプログラム ~デザインパターンの骸骨たち~ を作ってみました。骸骨達 を骨の髄までしゃぶり尽くつくすせば、オブジェクト指向の真髄まで味わうことができるかも。!? 『デザインパターンの骸骨たち(RE-BONE)』 では、内容を大幅に見直し、Ja

  • 10. Strategy パターン

    2012/04/26 一部修正しました デザインパターン 10章 Strategy パターン 10.1 Strategy パターンとは 10.2 サンプルケース 10.3 Strategyパターンまとめ 10.1 Strategy パターンとは 第10章では、Strategy パターンを学びます。Strategy とは英語で「戦略」を意味する言葉です。Strategy パターンを利用することで、戦略の切り替えや追加が簡単に行えるようになります。 普通にプログラミングしていると、メソッドの中に溶け込んだ形でアルゴリズムを実装してしまうことがよくあります。if 文などで分岐させることでアルゴリズムを変更するような方法です。Strategy パターンでは、戦略の部分を意識して別クラスとして作成するようにしています。戦略x部分を別クラスとして作成しておき、戦略を変更したい場合には、利用する戦略クラ

  • 12. Decorator パターン

    2012/04/26 一部修正しました デザインパターン 12章 Decorator パターン 12.1 Decorator パターンとは 12.2 サンプルケース 12.3 Decoratorパターン まとめ 12.1 Decorator パターンとは 第12章では、Decorator パターンを学びます。Decorate とは、英語で「装飾者」を意味する言葉です。Decorator パターンでは、飾り枠と中身を同一視することで、より柔軟な機能拡張方法を提供します。 Decoratorパターンは機能を一つひとつかぶせていくイメージになります。ある機能を持ったDecorationをコアとなるものにかぶせていくイメージです。 12.2 サンプルケース サンプルケースでは、アイスクリームの話をしたいと思います。アイスクリーム屋さんでは、自由にトッピングを選べるようになっています。お客さんは、ト

  • 19.State パターン

    19.1 State パターンとは 第19章では State パターンを学びます。State とは、英語で「状態」を意味する単語です。 オブジェクト指向設計では、モノをクラスとして表現することが多くあります。State パターンとは、 モノではなく、「状態」をクラスとして表現するパターンです。 状態によって、動作のパターンが変わることがよくあります。 例えば、「機嫌のいい状態」「機嫌が悪い状態」の2つの状態があるお母さんにいくつか頼みごとをすることを考えます。 機嫌のいい状態のお母さんに「お小遣い頂戴」「おやつ頂戴」などのお願いをした場合、 「はいはい」といってお小遣いをくれたり、おやつを出してくれたりするでしょう。 しかし、機嫌の悪い状態のお母さんにこれらのお願いをしても聞き入れてくれないかもしれません。 お母さんは状態によって、振る舞いが変わるわけです。 State パターンとは、この

  • 事例で学ぶデザインパターン 第 6 回 | オブジェクトの広場

    事例で学ぶデザインパターン 第6回 Strategy パターンとデザインパターン活用の総まとめ (株)オージス総研 福田 直樹 連載の最終回となる今回は、アルゴリズムをクラスとして抽出する Strategy パターンを検討します。変動しやすい一連の処理を持つ部分を分離し、それを簡単に切り替えて実行できるような仕組みを構築します。Strategy パターンを検討した後、その Strategy パターンに見られる設計指針を確認してデザインパターン活用のポイントを振り返ることにしましょう。 ※雑誌『Java WORLD』 2006 年 9 月号に掲載した記事のオリジナル原稿を Java WORLD 編集部の了解を得て掲載しています。 前回のおさらい 前回は、GUI クラスと GUI に依存しないデータ処理クラスを分離し、リアルタイムに情報を更新するような仕組みを提供する Observer パター

    agw
    agw 2011/10/08
    Strategyパターンの解説。State、Decoratorパターンとの類似性の検討。
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • Factory Method パターン - Wikipedia

    Factory Method パターン(ファクトリメソッド・パターン)[1]とは、GoF (Gang of Four; 四人組)によって定義されたデザインパターンの1つである。 Factory Method パターンは、他のクラスのコンストラクタをサブクラスで上書き可能な自分のメソッドに置き換えることで、 アプリケーションに特化したオブジェクトの生成をサブクラスに追い出し、クラスの再利用性を高めることを目的とする。 Virtual Constructor パターンとも呼ばれる[1]。 Factory Method パターンのクラス図は以下の通りである。 抽象クラス Creator は 抽象クラス Product を生成するメソッドを持つ。 クラス ConcreteCreator は Creator の具象クラスであり、ConcreteProduct を生成するメソッドを持つ。 Concre

    Factory Method パターン - Wikipedia
  • Flyweight パターン - Wikipedia

    Flyweight パターン(フライウェイト・パターン)とは、GoFによって定義されたデザインパターンの1つである。等価なインスタンスを別々の箇所で使用する際に、一つのインスタンスを再利用することによって計算資源の浪費を減らすことを目的とする。なお、flyweightとは、英語で「フライ級」を意味し、ボクシングにおける体重別階級の1つである。 Flyweight パターンのクラス図を以下に挙げる。 FlyweightFactory クラスは Flyweight インスタンスのコンテナをフィールドとして持ち、Flyweight オブジェクトを返すメソッド getFlyweight() を実装する。 Flyweight パターンで設計された API では、利用者は Flyweight クラスにあたるインスタンスを取得する場合に、直接そのクラスのコンストラクタを呼び出す代わりに Flyweigh

    Flyweight パターン - Wikipedia
  • Learning JavaScript Design Patterns by Addy Osmani

    Document has moved, if you aren't automatically redirected go here.

  • 【コラム】ダイナミックObjective-C (115) デザインパターンをObjective-Cで - Interpreter (1) | エンタープライズ | マイコミジャーナル

    Objective-CとCocoaの立場から、デザインパターンを眺めてみるこの取り組みも、いよいよ佳境に入ってきた。残すところ数パターンとなってきた。だが、まだまだクセの強いパターンが残っている。 今回からは、Interpreterパターンを取り上げよう。文法や言語を読み込むために使われるパターンだ。 Interpreterパターンとは Interpreterパターンは、その名の通り、インタプリタと考えてしまえばいいだろう。インタプリタは、計算機の処理系の一種で、プログラミング言語などを読み込みながら処理するものだ。たとえば、BASICインタプリタや、Perlインタプリタなどがある。 このインタプリタのためのパターンが、Interpreterパターンだ。インタプリタそのものをデザインパターンにしてしまうとは、なかなか大胆な発想だ。 Interpreterパターンでは、文法規則の1つ1つをク

  • 【コラム】ダイナミックObjective-C (116) デザインパターンをObjective-Cで - Interpreter (2) | エンタープライズ | マイコミジャーナル

    Interpreterデザインパターンは、非常にプログラミング言語よりのパターンだ。自分で、新しくて、それでいながら簡易なプログラミング言語をデザインするときに使う事になるだろう。それ以外の場合は、なかなかお目にかかれないパターンだ。 Cocoaにそのようなパターンを使っているクラスがあるのだろうか? 実は、ピッタリのものがある。それは、Core Dataで使われている、オブジェクトを抽出するための文法だ。 Cocoa Predicates Core Dataは、MVCアーキテクチャでいうと、モデルをサポートするものとなる。モデルクラスの作成を強力にバックアプする。クラスのモデリングのための専用ツールを用意し、データの永続性をほぼ完全に実現している。 Core Dataは、その出自にEnterprise Objects Framework (EOF)の技術がある。EOFもCocoaと並んで

  • 「具体例で説明するデザインパターン」はかなり間違ってる - disり用。

    具体例で説明するデザインパターンが半分以上、しかも全然違う説明をしているので、念のためツッコんでおきます。 Factory Method 間違い。サブクラス側で生成するオブジェクトを変えられるように、生成処理をメソッドに追い出すのがFactory Methodパターンです。たとえばツリー構造など、入れ物と要素が組になるコレクションクラスを作った場合、コレクションクラス内で要素を普通にnewしてしまうと、コレクションのサブクラスを作った際に要素のクラスが変えられないという問題が起ります。生成処理をメソッドに切り出しておけば、オーバーライドすれば変えられるので安心という訳です。 ドキュメントベースのアプリケーションフレームワークでは、ドキュメントオブジェクトを生成するためにFactory Methodパターンが使われているのが見られます。 Abstract Factory 間違い。DOMツリー

    「具体例で説明するデザインパターン」はかなり間違ってる - disり用。
    agw
    agw 2011/06/23
    かなり参考になる。
  • 具体例で説明するデザインパターン - てっく煮ブログ

    JavaScriptデザインパターンってなんだかたいそうなものに考えられがちだけど、実は、そこかしこのライブラリや仕様に取り込まれていることが多い。「デザインパターン分からん」とか「で、どうやって使うのよ」と悶々としている人には、「どういうところで使わているのか」を知っておけばイメージも沸きやすいし、意外にたいしたことないんだな、ということが分かるんじゃないだろうか。そこで、JavaScript やその周辺の技術で、デザインパターンがどのように使われているかを紹介してみることにする。ここでは、GoFの順番に沿って、以下の11個のパターンを取り上げる。生成に関するパターン Factory MethodAbstract FactoryBuilderPrototypeSingleton構造に関するパターン AdapterComposite振る舞いに関するパターン Chain Of Respon