タグ

デザインパターンに関するebcmのブックマーク (7)

  • デザインパターンとしての例外ハンドラ - オブジェクト指向と型システムの狭間で例外を考える その4 - プログラマーの脳みそ

    例外考察シリーズ。 オブジェクト指向と型システムの狭間で例外を考える - プログラマーの脳みそ 契約書に捨印を押す - オブジェクト指向と型システムの狭間で例外を考える その2 - プログラマーの脳みそ try-catch方式・ハンドラ方式 - オブジェクト指向と型システムの狭間で例外を考える その3 - プログラマーの脳みそ 前回はプログラム言語の例外処理機構としてtry-catch方式の他に、ハンドラによる例外処理方式を考えることができる、という話をした。「考えることができる」がこの2010年現在にそういった例外処理機構をもった言語があるかというと僕は寡聞にして知らない。ああ、僕は当に寡聞なのでただの無知の可能性のほうが高い。メジャーどころではなさそうなんだけどどうだろう。 プログラム言語の機能として、という話だと、プログラム言語を作ろうという人とか、あるいは将来にハンドラ式の例外処

    デザインパターンとしての例外ハンドラ - オブジェクト指向と型システムの狭間で例外を考える その4 - プログラマーの脳みそ
  • はてなブログ | 無料ブログを作成しよう

    台北市立動物園と迪化街めぐり 子連れ台湾#5 年越し台湾旅行5日目、レジャーや友人との事を楽しむ日です。前日の様子はこちら www.oukakreuz.com 台北市立動物園へ パンダ館 パンダが見られるレストラン 迪化街へ 林茂森茶行でお茶を購入 小花園で刺繍グッズを購入 黒武士特色老火鍋で夕 台北市立動物園へ 松…

    はてなブログ | 無料ブログを作成しよう
  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • Java: イベント駆動によるModelとViewの分離 – Observer パターン

    よくGUIやWebアプリの簡単なサンプルソースなどは、UIとアプリケーションのロジックが同じクラスまたはメソッドに書かれている場合が多い。それはそのサンプルがある特定の機能や関数の紹介の為に簡潔に書いているのだが、仮にいざそのソースを元にアプリを作りこんで機能の追加を行っていくとUIとアプリのロジックは分離したほうが保守・拡張と共に行い易い。 下記のプログラムは1秒毎に数値をカウントし、それを2進数と10進数でGUI上のラベルに出力する機能をモデルとビューに分けている。すなわち、数値のカウントをするモデルと数値をUIに表示するビューに。(いくつかの言語ではGUIの部品としてタイマーがあるようだが。。) 実行結果 クラス図 インスタンスの生成はコンストラクタで行うのがいいのですが、はしょっている。さて、これまでに何らかのフレームワークを使っていた方には上クラス図はMVCの説明図として見慣れて

  • GUIの設計パターン - やさしいデスマーチ

    さて、NetBeansによるGUIの構築方法をある程度把握したので、今回はSwingアプリケーションの設計についてです。 今回作成するアプリケーションは次のようなインターフェイスを持ちます。動きとしては「Up」ボタンをクリックすればカウンターの数字が増加していくだけの単純なアプリケーションです。 これを実装するだけならば簡単かと思いますが、次の制約の元にアプリケーションを構築します。 ボタンは「ActionPanel」に作成し、カウンターは「CounterPanel」に作成して分割する さらに2つのパネルを「AppPanel」に配置した上で、「AppFrame」に配置する この制限は大きな無駄に思えると思います。しかし、アプリケーションがもっと複雑な構造をとっていると仮定してください。例えばEclipseやNetBeansは様々なビューを持ち、コマンドもメニューだけではなく右クリックからな

    GUIの設計パターン - やさしいデスマーチ
  • 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

  • ハタさんのブログ : デザパタ本には載らないデザパタ

    突然ですが、きっとあなたも使っているデザインパターンシリーズ 何気なく書いていたあのクラスが無意識的にNullObjectパターンやHook Operationパターンを適用していることがここ最近多い気がしませんか? 僕の場合はS2Daoを通して見付けた(身に着けた)ものが多いんですが、今回はそのS2Daoより、簡単に書けるHook OperationパターンとNullObjectパターンをPHP5で書いてみます。 Hook Operationパターン 「Hook Operationパターン」にも書かれていますが、あるクラスの処理の前と後ろに、別の処理を実行したいことがあります。 AOPとか特別なことはせずに、あるクラスの前処理と後処理を呼び出します。 あるクラスの処理を「Process」クラスの「execute」処理とし、別の処理(前・後)は「Hook」インタフェースを実装するクラス

  • 1