Season I:JList 篇



■ 概要

アプリケーションを作成する過程を通して、Jython/Swing によるデザインパターンを習得します。

この課題では、Swing/GUI を使ってモデルの変化に呼応する複数のビューを提示します。〈GoF〉Observer パターンを導入すると、依存性を扱うのが容易になるので、要求仕様の変更にも柔軟に対処でき、簡潔で見通しの良いコードを記述できるようになります。

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

■ 関連記事

EPISODE

1.00:アプリケーションギャラリー

モデルの変化に呼応する複数のビューを提示します。

1.01:JList を利用する

Jython の対話モードを活用すると、実行中のアプリケーションの状態を確認できるので便利です。これらの情報は、Jython の汎用的な機能を利用して得られるので、同等の機能をアプリケーションごとに用意する必要はありません。

1.02:Canvas を利用する

JList の項目を選択すると(値が変更されたときに)メソッド valueChanged が呼び出されるので、発生したイベントから、選択された項目が得られます。

1.03:モジュール分割:リファクタリング

モジュール分割によって、それを実現する方法(how)に依存しない、その目的(what)だけを示した抽象表現が可能になります。それを実現する方法を変更しても、その影響はメソッドを「提供する」側のモジュール内に限定されるので、メソッドを「利用する」側のモジュールに影響を与えません〔連続性:modular continuity〕。

1.05:デザインパターン〈GoF〉Observer, #2

モジュールは、相互に独立した小さな問題に分解するのを支援〔分解容易性:modular decomposability〕するとともに、必要なら自由に組み合わせて利用〔結合容易性:modular composability〕できます。ここでは、相互に独立したクラスが、単方向の依存関係を結びます。

》作業中です《

09:双方向通信

ここでは、相互に独立したクラスが、双方向の依存関係を結びます。

11:AspectAdaptor を導入する

》作業中です《

Last updated♪09/06/22