top / index / prev / next / target / source

2005-04-08 diary: 「ラッパークラス・デザインパターン」というものの存在

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

「ラッパークラス・デザインパターン」というものの存在

ラッパークラスの作り方にもデザインパターンが存在するような気がしました。特に SWTから それを感じます。

ラッパークラス・デザインパターン

特にここのところ 、ラッパークラスの作成とかに携わることがあります。そこで気がついたのですが、ラッパークラスのデザインの仕方にも、微妙に特徴があるように感じます。いわばラッパークラス・デザインパターンとでも言うのでしょうか。(多分ラッパークラス・デザインパターンというのは私の造語でしょう) SWT、R/Oマッピング、TCP/IPのようなネットワークレイヤーなどに対するラッパークラスなど、ラッピングする対象が非オブジェクト指向のものである場合には、モデリングにラッパークラスならではの特徴が出てきます。

薄皮型・ラッパークラス・デザインパターンを強く考えさせられるもののひとつが SWTです。SWTは 絶妙なバランスで設計が行われています。それまでの画面系ツールキットと比べると大変に前衛的な設計になっています。

SWTは薄皮型・ラッパークラス・デザインパターンによって実装されているので、あのように機敏に、そして普通に操作できるGUIが構築できるのでしょう。SWTをあのような設計にした上で、さらに上位層にあるラッパークラスであるJFaceではより高水準なデザインがなされています。

そうなのです。一方の JFaceにおいては完全隠蔽型・ラッパークラス・デザインパターンを感じます。JFace層 (RCP層とでも言うのかしら?)においては、いまどきのデザインパターンがふんだんに活用されています。JFaceはデザインパターンの技のデパートのような作りになっています。デザインパターンの学習という目的においては、JFaceやRCPは有益であるように考えます。

このように 薄皮型・ラッパークラス・デザインパターンと 完全隠蔽型・ラッパークラス・デザインパターンとを使い分けて設計をするのが、ラッパークラスの設計に最適なのでは無いかと考えました。ラッパークラスって奥が深いですね…。

関連する日記

SourceForge.jpにCVSで接続するための呪文

SourceForge.jpのCVSを初めて利用しました。下記のページを頼りに接続に成功しました。

このページがなかったら私には設定ができませんでした。有益なページに感謝します。


この日記について