GoF

Java の素描

‖記事一覧‖ Java.use(better)《Scala2.8.0》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| Java の素描 《初級篇》 Java.use(better) GoF 弾丸ツアー Java.use(better, Swi…

Java の素描 #GoF/Visitor, Visitor.scala

‖記事一覧‖ Java.use(better) #GoF《Scala2.8.0》復刻改訂版 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Visitor 》作業中です《 関連記事 INDEX《Scala》ListView ↑…

Java の素描 #GoF/Command, FullCommand.scala

‖記事一覧‖ Java.use(better) #GoF《Scala2.8.0》復刻改訂版 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Command 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑…

Python.use(better); Python 弾丸ツアー #Jython《Java 篇》

|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー #Jython 《Java 篇》 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● 第1版…

Python.use(better); Python 弾丸ツアー #DP

|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー #DP《デザインパターン篇》 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● …

Python.use(better); Python 弾丸ツアー

|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● 第1版♪2003/05/23 ● 第4版…

リファクタリング:switch 文の隘路

switch 文が抱えるハードコーディングの問題点を回避するとともに、動的スキーマを適用して、実行時にオブジェクトの動作を規定する方法を紹介します。すでに、矢印キーを使って、テトリミノの回転/シフトができます。これに加えて、space キーを押すと、テ…

2c)機能の実現:Composite

Composite::Composite では、複合オブジェクト(合成要素)に固有のプロトコルを規定します。

適用事例: Composite パターン

GoF

古典的な〈GoF〉Composite パターンに代えて、木構造を持つオブジェクトの集合体を管理したいときに、既存のコントロールを活用した事例を紹介します。すると、複合/単一オブジェクトの違いを意識せずに、オブジェクトの集合体を一様に扱えるようになります…

Composite パターンに代えて

古典的な Composite パターンに代えて、既存のコントロールの中から TreeView を導入したのが、exComposite.py です。 具体的な WPF コントロール(ListBox/Canvas)に関する情報は、マークアップを使って exComposite.xaml ファイルの中に封じ込めてあるの…

クラス FileSystem:Component

## -------------------- # Composite::Component class FileSystem(object): 親クラスを object に設定すると、その子孫クラスでは、組み込み関数 super を利用して、先祖クラスのメソッドを再利用できます。 def __init__(self, name): self.name = name s…

2b)機能の実現:Composite

GoF

Composite::Composite では、複合オブジェクト(合成要素)に固有のプロトコルを規定します。 複合オブジェクトは、単一オブジェクトの集合体です。その集合体の中に複合オブジェクトがあると、複雑な入れ子構造を表現できます。複合/単一オブジェクトを区別…

クラス Directory:Composite

Composite::Composite では、Composite::Composite で規定されたプロトコルに従って、複合オブジェクトとしての機能を実現します。 ## -------------------- # Composite::Composite class Directory(FileSystem): def __init__(self, name=None): super(sel…

Composite パターンを導入した後で

古典的な Composite パターンを導入した後の状態を示したのが、サンプルファイル dirComposite2.py です。 複合オブジェクトは、単一オブジェクトの集合体です。ここでは、FileSystem が、複合/単一オブジェクトに共通する特性を扱います。 class what how F…

クラス File:Leaf

Composite::Leaf では、Composite::Leaf で規定されたプロトコルに従って、単一オブジェクトとしての機能を実現します。 ## -------------------- # Composite::Leaf class File(FileSystem): def __init__(self, name, size): super(self.__class__, self).…

第3章 Command パターン 2/4, IronPython

〈 前の記事|記事一覧|次の記事 〉IronPython で学ぶ WPF プログラミングの世界《IronPython2.6》 Command パターン 《著》森こねこ・後藤いるか・小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第1版♪1995/07/02 ● 第2版♪2003/01/29 ● 第3版♪2008/04/28 ■ …

第3章 Command パターン 1/4, IronPython

〈 前の記事|記事一覧|次の記事 〉IronPython で学ぶ WPF プログラミングの世界《IronPython2.6》 Command パターン 《著》森こねこ・後藤いるか・小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第1版♪1995/07/02 ● 第2版♪2003/01/29 ● 第3版♪2008/04/28 ■ …

Python.use(better, anti="GoF") # Let's GoForward《25》Visitor(5)パターン夜明け前★★

《こちらに移動中です》2007年7月27日 (金) ------------ 序 ------------ GoF のデザインパターンは、図らずも Java/C# の脆弱さを露呈する結果となりました。Ruby/Python などより洗練されたオブジェクト指向の支援が得られる環境下では、いくつかのパター…

パターンを導入する前に

Observer パターンを導入する前に、例題の動作を確認します。 def valueChanged(e): panelView.background = eval( "colors.%s"%e.source.selectedValue) listData = [e for e in dir(colors) if not e.startswith("_")] listView = JList( listData=listDat…

Python.use(better, Tkinter=”GoF”) # Composite

‖記事一覧‖ Python.use(better, Tkinter=”GoF")《Python3.1》 # Python で学ぶ デザインパターンの世界 Composite 《著》森こねこ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部α版♪1993/11/25 ● β版♪1995/11/22 ● 第1版♪2003/05/23 ● 第2版♪2006/10/28…

Python.use(better, Tkinter=”GoF”) # Command

‖記事一覧‖ 《 IronPython|Jython 》Python.use(better, Tkinter=”GoF") # Python で学ぶ デザインパターンの世界 Command 《著》森こねこ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部α版♪1993/11/25 ● β版♪1995/11/22 ● 第1版♪2003/05/23 ● 第2版♪2…

Season III:オセロゲーム 篇

■ 概要 アプリケーションを作成する過程を通して、Jython/Swing によるフレームワークを習得します。 典型的なオセロゲームから始めて、蜂の巣(6角形)状の盤面を作り、3人で対戦できるゲームへと進化させます。《Note》JPython1.1.x/Jython2.1.x 用に作…

Season II:JTree 篇

■ 概要 アプリケーションを作成する過程を通して、Jython/Swing によるデザインパターンを習得します。 この課題では、Swing/GUI を使って階層構造を持つ情報を提示します。〈GoF〉Composite/Iterator/Visitor/Command パターンを導入すると、if/for 文によ…

Season I:JList 篇

■ 概要 アプリケーションを作成する過程を通して、Jython/Swing によるデザインパターンを習得します。 この課題では、Swing/GUI を使ってモデルの変化に呼応する複数のビューを提示します。〈GoF〉Observer パターンを導入すると、依存性を扱うのが容易にな…

Java の素描 #GoF/Command, FullCommand.py

‖記事一覧‖ Java.use(better) #GoF《Jython2.5》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Command 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑TOP Last up…

Java の素描 #GoF/Command, FullCommand.scala

‖記事一覧‖ Java.use(better) #GoF《Scala2.8.0》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Command 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑TOP Last u…

Java の素描 #GoF/Composite, SimpleComposite.py

‖記事一覧‖ Java.use(better) #GoF《Jython2.5》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Composite 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑TOP Last …

Java の素描 #GoF/Visitor, Visitor.py

‖記事一覧‖ Java.use(better) #GoF《Jython2.5》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Visitor 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑TOP Last up…

Java の素描 #GoF/Visitor, Visitor.scala

‖記事一覧‖ Java.use(better) #GoF《Scala2.8.0》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Visitor 》作業中です《 関連記事 INDEX《Scala》ListView ↑TOP Last u…

Java の素描 #GoF/Observer, Observer.py

‖記事一覧‖ Java.use(better) #GoF《Jython2.5》 Java の素描 〜 GoF 弾丸ツアー:時短プログラミング生活のすすめ 〜 《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部 |関連記事| GoF/Observer 》作業中です《 関連記事 INDEX《Swing》JMenuBar ↑TOP Last u…