《余録》Swing/Jython - GoF を反面教師に, Iterator

Java プログラマーのための Python 導入ガイド記事一覧
《余録》GoF を反面教師に, Iterator

《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03
》作業中です《

■ 概要

フォルダー/ファイルの階層構造を Swing/GUI を利用して「簡単に」閲覧できるツールがあると便利です。

 セミナー課題では、JTree/DefaultMutableTreeNode と同等の機能を「実現する」方法を紹介しました。
 ここでは、入門者向けに、既存の機能を「利用する」方法を紹介するとともに、その問題点について考察します。
 また、GoF を鵜呑みにすると Python の特徴を活かせず、損をする場面もあるので、注意が必要です。

 《Note》JPython1.1.x/Jython2.1.x 用に作成したセミナー課題を、Jython2.5 で再構成しました。

何が問題か

GoF を鵜呑みにするとプログラミング言語の特徴を活かせず、損をする場面もあるので、注意が必要です。Smalltalk 版では〈GoF〉の中から、問題となる8つのパターンを取り上げ「GoF を反面教師に」としてまとめました。今回の Python 版 では〈GoF〉の中から、6つのパターン(Iterator/Command など)を取り上げ、その問題点について考察します。

GoFIterator:メソッド __iter__

GoFIterator を導入するときに、メソッド __iter__ を利用しないと損をします。

■ 〈GoFIterator を実現する

冗長なクラスが必要になるので、アプリケーションが複雑になると、多数のクラスを手作業で管理するのは現実的ではありません。

■ メソッド __iter__ を利用する

冗長なクラスが不要になるので、簡潔で見通しの良いコードを記述できるだけでなく、要求仕様の変更にも柔軟に対応できるようになります。


⇒ 続きはこちら 〈GoF〉Iterator を導入する
⇒ 続きはこちら 〈GoF〉Iterator を実現する

Tips

》作業中です《

Last updated♪09/05/26