Python 弾丸ツアー #DP: ツリー ... step 3: Command を導入する

OOPデザインパターンリファクタリング

Python.use(better); Python 弾丸ツアー #DP: Tkinter/Python
>>> ツリー(階層構造)
step 3: Command を導入する
《Python3.1|Jython2.5|IronPython2.6》

《著》小粒ちゃん@湘南組《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/23 ● 第4版♪2010/03/08

step 3: Command を導入する

《課題》指定したフォルダーを頂点とするツリーを表示したい。


《テストケース》次のコードを実行すると、ウィンドウが現われます。任意のアイコンをクリックすると、選択した項目(フォルダー、ファイル)の情報が、新たなウィンドウに表示されます。□

$ python -i sp3_Command.py
>>> do(0)
>>> # -------------------------------------------------- tips

《TIPS》Command パターン:登場人物の相関図

 ̄複合オブジェクトの実現方法には依存せずに、それを構成する各要素にアクセスできます。組み込みの構文(for 文など)を利用した、統一的な表現を可能にします。


  • Command
    • 適切な処理を依頼する手段を規定します。
  • ConcreteCommand
    • Command で規定したプロトコルを実現します。Receiver に対して適切な処理を依頼します。
  • Client
    • ConcreteCommand を生成するとともに、その対象になる Receiver を設定します。
  • Invoker
    • Command に処理を実行するように依頼します。
  • Receiver
    • 具体的な処理を実行します。
■ キーワード

 ̄Command・ConcreteCommand・Client・Invoker・Receiver


TOP
》作業中です《