WPF
|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー #DP《デザインパターン篇》 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● …
|OOP|デザインパターン|リファクタリング|Python.use(better) Python 弾丸ツアー 《Python3.1|Jython2.5|IronPython2.6》《著》小粒ちゃん@博多組, 小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部第0版♪2001/03/02 ● 第1版♪2003/05/23 ● 第4版…
# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/08/22, …
|記事一覧|第1章|第2章|第3章|第4章|第5章|第6章|第7章|余録A|余録B|余録C|C#.use(better, IronPython=”WPF”) データバインディング 《著》本間りす《監修》小泉ひよ子とタマゴ倶楽部 ■ 関連記事 INDEX〈Python〉 INDEX〈WPF〉 2008-07-08 第0章…
# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/08/22, …
|記事一覧|第1章|第2章|第3章|第4章|第5章|第6章|第7章|余録A|余録B|余録C|C#.use(better, IronPython=”WPF”) ListView 《著》本間りす《監修》小泉ひよ子とタマゴ倶楽部 ■ 関連記事 INDEX〈Python〉 INDEX〈WPF〉 2008-07-08 第0章 データバイ…
‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 等方向に隣接するオブジェクト群を検出する ゲーム版に生息…
# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…
‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 テストケース3:等方向のオブジェクト群 テストケースを起…
# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…
ここでは、switch 文が抱えるハードコーディングの問題点を解消するために、既存のモジュール 《付録》TetrisCenter.py - 続・ひよ子のきもち を閉じます。 そして、開放閉鎖原則〔OCL: Open-Closed Principle〕に沿って、このモジュールを(閉じたまま Clos…
switch 文に象徴されるハードコーディングの問題点は、要求仕様の変更に伴って、コードの改変を余儀なくされることです。そのため、いつまでもそのモジュールを閉じることができません。そこで、この問題点を解消するとともに、開放閉鎖原則に沿って、モジュ…
switch 文が抱えるハードコーディングの問題点を回避するとともに、動的スキーマを適用して、実行時にオブジェクトの動作を規定する方法を紹介します。すでに、矢印キーを使って、テトリミノの回転/シフトができます。これに加えて、space キーを押すと、テ…
C#.use(better, IronPython=”WPF”) 《記事一覧》 アプリケーションギャラリー 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部 一覧 ここで紹介するプログラムは、ちょうど20年前(1988年)に Smalltalk-80 で作成したものを、Swing/Jython 版を経て、今…
Python では、メソッド関数を使って(いくつかの制約はあるものの)クロージャーを記述できます。そこで、Smalltalk 版には及ばないものの、汎用性を損なわず簡潔な表現が可能となるように、Python 版でのリファクタリングを実践します。これを機に、リファ…
たとえば、Windows Form で作成した既存のアプリケーションを、新たに WPF アプリケーションとして再構築するときに「再利用可能なモジュールだけが整理整頓されていたら」どんなに楽でしょうか。私たち「タマゴ倶楽部」のモットーにも「楽をするための努力…
(遅まきながら)Python 3 では list 以外(たとえば dict)にも、内包表現ができるようになりました。しかし、Smalltalk のような汎用的な記述はできず、VDM++ が期待しているプログラミング言語仕様と比べても、Python 3 ではまだそのギャップを埋めるには…
‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 指針:モデルの再利用 既存のモジュール(Swing/Jython 版…
第0章(第4章)でも述べたように、目の錯覚を利用して、物が動いているように見せる技法を応用したのが「アニメーション」でした。テストケースでは、実際に図形オブジェクトを移動(座標値を再設定)させましたが、これは必須ではありません。 その代わり…
# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…
‖記事一覧‖ C#.use(better, IronPython=”WPF”)IronPython で学ぶ WPF プログラミングの世界 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第3版♪2008/04/28《 前の記事|次の記事 》関連記事 隣接するオブジェクト群を管理する ゲーム盤を構成する各セ…
テストケースを起動すると、ウィンドウが開きます。テトリミノを左右にシフト/回転させて、境界に達すると、内側に押し戻されます。 シフト テトリミノが「左」の境界に達すると、その先には移動できません。 テトリミノは境界内を自由に移動できます。 テト…
既存のアプリケーションに組み込む前に、それとは独立した環境下のテストケースで、新規のモジュールの動作を確認します。 既存のモジュール hexagon.py を再利用しながら、新たなモジュールの動作を検証するために、テストケースを作成します。
(Jython で作成した)既存のモジュール hexagon.py を再利用しながら、新たなモジュールの動作を検証するために、テストケースを作成します。 class ExWindow(Window): def init(self): target = "tabControl", "button", self._Controls(target) self.item…
class Tray: def _tiles(self): ... s = {} for x, y in [(e*m1+2, 0) for e in range(5)]: for _ in range(3): s[x, y] = Tile(x, y); y += m2 for x, y in [(e*m1+3, 2) for e in range(4)]: for _ in range(2): s[x, y] = Tile(x, y); y += m2 return s d…