2008-11-14から1日間の記事一覧

まとめ

複合オブジェクト/単一オブジェクトを一様に管理するのに、Composite パターンを適用するとともに、それを実現するための手段として、TreeView を導入する方法を紹介しました。 TreeView を導入すると、前述した事例のように、フォルダー/ファイルを判定する…

2c)機能の実現:Composite

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

クラス FileSystem:Component

## -------------------- # Composite::Component class FileNode(TreeViewItem): def __init__(self, name): self.Header = name self.size = 0 属性 self.Header は、親クラスから継承したもので、フォルダー/ファイルの名前を管理します。属性 self.size …

適用事例: Composite パターン

GoF

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

何が問題か:大量のスクロール《承前》

テキストボックス内に表示された木構造の全体を眺めるには、何度もスクロークする必要があり、実用的ではありませんでした。そこで、既存のコントロールの中から、何か利用できるものがないか探ってみると、TreeView を利用できるのが分かります。

Composite パターンに代えて

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

《余録》コーディング量の比較

古典的な Composite パターンを踏襲したものと、既存のコントロール TreeView を導入したものとで、そのコードの量(ファイルサイズ)を比較すると、次のようになります。 Composite TreeView ファイルサイズ (byte) 4396 3375 すると、約77%の量でコードを…

《付録》exComposite.xaml

WPF

《付録》exComposite.py

# -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # Change History: WPF examples # 2008/01/25, IronPython 1.1.1 (download) # 2008/…

第1章 Composite パターン 5/5, IronPython

《Previous|5/5|Next》 C#.use(better, IronPython=”WPF”) 《記事一覧》