タグ

designpatternに関するyukungのブックマーク (21)

  • Visitorパターンについて考えた — 裏紙

    ポリもーなんとかでなんとかする 例えば数値を表すNumNode、足し算を表すAddNode、それらのインターフェースとなるNodeがあるとします。 で、計算を実装する場合Nodeにcalcメソッドとか定義してNumNodeとAddNodeで実装します。 package visitor; public interface Node1 { int calc(); } class NumNode1 implements Node1 { public final int value; public NumNode1(int value) { this.value = value; } @Override public int calc() { return value; } } class AddNode1 implements Node1 { public final Node1 left; p

  • 今さらデザインパターン Visitorパターン編 - かとじゅんの技術日誌

    今回は,Visitorパターン.一言でいうとデータ構造(つまりモデル)にVisit(訪問)して処理するパターン.目的はモデルとモデルを処理するロジックの分離です.実は使ったことがないw よい機会なので考えてみたいと思います. Wikipedia Visitorパターン まずは事例から いつものごとく,ダイちゃんのサンプルを改編! モデルに直接ロジックを書くのではなく,Visitorを受け入れてそのVisitorにモデル(自分自身)を渡し,ロジックを実行するイメージです. こうすることでモデルとロジックが分離できるというパターンなんですね.各Converterのconvertメソッドで渡されたTable, Columnのモデルに用意したVisitorを訪問させて処理させています. public interface Acceptor { public void accept(Visitor v

    今さらデザインパターン Visitorパターン編 - かとじゅんの技術日誌
  • Javaで書くBuilderパターンのパターン - Qiita

    Builderパターン 個人的にBuilderパターンはオブジェクトの生成制御や、ものによっては可読性が高くて好きなパターンなんですが、その実装には用途によっていくつかパターンがあるので、まとめてみました。 生成するオブジェクトの条件 クラス名:People フィールド:String name(必須), Integer age(必須), String hobby(オプション) 必須要素はnullを禁止 PeopleクラスはStringを返り値とするhelloメソッドを持つ 今回はBuilderパターンの比較のため、パターン上必要でない限りgetterなどのメソッドは省略 Native Builder Builderパターンではなく、ただのコンストラクタ。Builderパターンを使いたくなるのはこれをやりたくないからだけど、比較のために記載。 class People { private S

    Javaで書くBuilderパターンのパターン - Qiita
  • Hibernate in Action における DTO についての考察 - A Memorandum

    もう10年以上前の、Hibernate in Action に書かれている DTO についての考察です。 HIBERNATE イン アクション 作者: Christain Bauer,Gavin Ki,倉橋央,勝嶌和彦出版社/メーカー: ソフトバンク クリエイティブ発売日: 2005/12/28メディア: 大型購入: 3人 クリック: 109回この商品を含むブログ (35件) を見る 何というか、文章が読みにくい部分ががあるため、コメントを挟みながら紹介します。 サーブレットベースのアプリケーションと、ビジネスロジックとデータアクセスがEJBコンテナにおいて実行されるアプリケーションとの間の最も重要な違いは、層を物理的に分離できるかどうかである。 J2EEの当初の目標は、分散コンポーネントの基盤を標準化することでした。 JTA による分散トランザクションや JNDI によるネーミングデ

    Hibernate in Action における DTO についての考察 - A Memorandum
  • Singleton パターンの使いどころをまとめてみた

    GoFのデザインパターンの中でも特に知名度の高い (そして間違った使われ方の多い) Singleton パターン, 皆様は有効活用してますか? 今回は自分の考える Singleton パターンの有効な使いどころを NG コード集も添えて説明したいと思います. (※サンプルコードは JavaPHP で記載します) 概要 Singleton パターンを適用すべき条件について, 結論を簡単に書いてしまうと 状態を持たないこと ポリモーフィズムが絡む (抽象クラスまたはインタフェースを実装している) こと の 2 点に尽きます. おそらくこれらを無意識的に実践しているプログラマーも多いのではないかと思います. 状態を持たないこと 鉄則です. メンバ変数を含んだシングルトンパターンって, それ単なるグローバル変数ですから! WEB アプリケーションのフレームワークなどでこんなコードを見たことは

    Singleton パターンの使いどころをまとめてみた
  • マイクロサービスのデザインパターン

    第1版 2015年9月21日 第2版 2015年12月24日 Bluemixでは,たくさんのサービスやAPIが提供されており,それらを組み合わせることでアプリケーションを開発することができます.単一のプログラム言語を使って,多数のライブラリやクラスファイルを結合して作る大きなアプリケーションにももちろん利点がありますが,新しい機能やUXを継続的に提供したい時や,目的に合わせてプログラミング言語やデータベースを選択したい場合には,それぞれが独立したサービスを組み合わせるやり方が有利です.この考え方の根底にあるのが,James LewisとMartin Fowlerが提唱しているマイクロサービスです.彼らのブログ記事にあるマイクロサービスの定義にあたる部分を訳してみました. マイクロサービス(Microservices)アーキテクチャスタイルは、それぞれが独立のプロセスで実行され,HTTPリソ

    マイクロサービスのデザインパターン
    yukung
    yukung 2015/09/24
    Microservices について追っていくと、ちょっと気を抜いたりかっちり考えようとすると SOA とか UDDI とか ESB とかの概念がチラついて見えちゃうの私だけじゃなさそう
  • 『Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン』 - Kentaro Kuribayashi's blog

    訳出が待望されていた『Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン』が刊行されたので、さっそく購入して読みました。 このは、ひとことでいうと組織変革を試みるひとへの手引です。組織には歴史や慣性などもあって、ただ意欲のまま無手勝流に変革に臨んだところで、きっとうまくいかないことでしょう。そこで、先人の知恵を集積したものとして紹介されるのがパターンです。プログラマにとってのデザインパターンが、ソフトウェア設計という困難な仕事に道標を与えるように、こので紹介されているパターンたちもまた、組織変革にとって役立つことでしょう。 Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン 作者: 川口恭伸,木村卓央,高江洲睦,高橋一貴,中込大祐,古家朝子,安井力,山口鉄平,米沢仁,角征典出版社/メーカー: 丸善出版発

    『Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン』 - Kentaro Kuribayashi's blog
  • Webアプリケーションのサービスクラスとは何か - 虎塚

    「JSP、サーブレット、サービス、DAO、DTOといった構成のアプリケーションにおけるサービスクラスとは何か」、という問いに自分なりの答えを出すのが、今日の宿題です。 自分の解答 ※注意: 以下の文章は言い切り形式で書いていますが、間違っているかもしれません。 ちょろっと調べたのですが、サービスについてそのものズバリの単一な定義を見つけることはできませんでした。なので、いくつかの観点から理解することを試みます。 モデル、ビュー、コントローラにおける「サービス」 アプリケーションをモデル、ビュー、コントローラに分けて見たとき、サービスはモデルに属します。モデルには、データベースアクセスを行うクラスと、システム固有の処理を行うクラスがあります。 サービスは、後者のシステム固有の処理を行うクラスに当たります。 なお、データベースアクセスを行うクラスは、データを保持するクラスと、データベースアクセ

    Webアプリケーションのサービスクラスとは何か - 虎塚
  • Singletonのサブクラス化

    Javaで、Singletonのサブクラス化のコーディングを試みます。インスタンスの唯一性をどのように保証するかを考えましょう。 目次 はじめに (1) Singletonの基形 —— 唯一のインスタンスを作る (2) クラスごとに管理 —— クラスごとに唯一のインスタンスを作る (3) 1個だけ管理 —— クラス階層全体で唯一のインスタンスを作る リンク 更新履歴 ぜひ、感想をお送りください はじめに Singletonパターンのサブクラス化に関連したJavaのサンプルコードを紹介します。 このページを作成するにあたっては、GoFはもちろんのこと、 デザインパターン・メーリングリストでのメールのやりとりを参考にしました。 澤田聡司さん、小山さん、中野靖治さん、宮さん、杉村貴士さん、出井秀行さん、 その他のみなさんに感謝します。 特に、澤田さんから多くの情報と示唆をいただきました。感

  • Java におけるコード進化パターン (Code Evolution Patterns in Java)

    Java におけるコード進化パターン (Code Evolution Patterns in Java) asato shimotaki <asatohan at gmail.com> 最終更新日 : 2009/6/21 (2004/4/22 より) [...] For twenty years, I spent two or three hours a day looking at pairs of things -- buildings, tiles, stones, windows, carpets, figures, carvings of flowers, paths, seats, funiture, streets, paintings, fountains, doorways, arches, friezes -- comparing them, and asking my

  • http://blogs.sun.com/nishigaya/entry/domain_driven_design_quickly

  • DEVLOVE HangarFlight で話したスライド&ソースコード - かとじゅんの技術日誌

    12月18日 DEVLOVE HangarFlight - Winter Sortie -(東京都) で、「コードで学ぶドメイン駆動設計入門」と題してしゃべってきました。 スライドはこちら。http://slidesha.re/h0ffOI ソースコードはこちら。https://github.com/tricreo/schema-generator 休日にも関わらず、たくさんの方に足を運んでいただき、ありがとうございました! 会場にいなかった人もJavaで書いたDDDのサンプルコードとして参考にしていただければと思います。 また機会があれば、話したいと思います。

    DEVLOVE HangarFlight で話したスライド&ソースコード - かとじゅんの技術日誌
  • Web アプリの MVC 設計まとめ - もやし日記

    MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPressTwitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を

  • 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

  • サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン はじめに:

    第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ

  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。

  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。

  • – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネット(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2024年5月時点の調査。

  • 長文日記

  • 杉浦とソフトウェア開発

    杉浦とソフトウェア開発 ダウンローダをお使いの皆様へ そういえば、秀和システム様より、筆者の「対戦型五目並べ」が、デザパタ入門書として「あなたのコードを[賢く]するデザインパターン Java プログラミング」というタイトルで出版されることになった。7月中旬に店頭に並ぶ予定である。定価は2800円と決まった。著者のクセにシレっと言ってしまうが、内容比だと相当にお買い得だな。ぜひぜひ買ってくれたまえ。より詳しくは→「あなたのコードを[賢く]するデザインパターン Java プログラミング」 私は古手のプログラマである。学生時代から、プログラマ以外のバイトをしたことがない。今まで書いたことのある言語というと、Basic, C, Fortran, Cobol, Scheme, C++, Java, Intel Assembler, Perl, Tcl/Tk, PostScript あたりか。あ、ほと