タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

PythonとDesign Patternに関するagwのブックマーク (3)

  • Adapterパターン - None is None is None

    Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。 目次 かなりいい加減です。 アダプターというのは、たとえばUSB-PS2変換器の様に、インターフェイスのギャップを埋めるためのものです。 同じように、必要なメソッドが無いなどの不整合があるとき、ギャップを埋めるのが、 Adapterパターンです。 ここではprint文を例にとります。 print文は, f = open("log.txt", "w") print>>f, "hello world!" の様に、出力先を変更できますが、実は >>の右に来るものは、 ファイルでなくても構いません。writeメソッドさえあればよいのです。 となるとTkinter.Textに出力したくなるのは自然ですね? でも、Tkinter.Textにはwriteメソッドがありません・・

    Adapterパターン - None is None is None
  • Template Method パターン - None is None is None

    Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)をPythonで書いています。 目次 変化しない部分は基底クラスに書き、 変化する部分は抽象メソッドにしてサブクラスに任せようというもの。 例:レポートを出力するクラス。 HTMLを出力するクラスを作ったら、後からプレーンテキストでも出力してくれと言われてしまった。 とりあえず、フォーマットを引数で指定するようにしたら・・・ #template_method1.py class Report: def __init__(self): self.title = u"月次報告" self.text = [u"順調", u"最高"] def output_report(self, format): if format == "plain": print("*** %s ***"%(self.title)) eli

    Template Method パターン - None is None is None
  • Pythonによるデザインパターン(目次) - None is None is None

    これは『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)をPythonに翻訳してみようというシリーズです。 Rubyによるデザインパターン 作者: Russ Olsen,ラス・オルセン,小林健一,菅野裕,吉野雅人,山岸夢人,小島努出版社/メーカー: ピアソン桐原発売日: 2009/04/01メディア: 単行購入: 13人 クリック: 220回この商品を含むブログ (66件) を見る デザインパターンの原則から 変わるものを変わらないものから分離する インターフェイスに対してプログラムし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(これは「Rubyによる〜」の筆者による) 記事 Template Methodパターン Strategyパターン Observerパターン Compositeパターン Iteratorパターン C

    Pythonによるデザインパターン(目次) - None is None is None
  • 1