Design Pattern Improvement by MixJuice Language
Bibliographic Information
- Other Title
-
- MixJuice言語によるデザインパターンの改善
- MixJuice ゲンゴ ニ ヨル デザイン パターン ノ カイゼン
Search this article
Description
本論文は差分ベースモジュールによるデザインパターンの改善を論じる.デザインパターンはオブジェクト指向言語において高い拡張性を実現するための設計集である.しかし,既存のオブジェクト指向言語のモジュール機構の制限によって拡張性が制限される問題もあり,パターンカタログにはその問題が明示的に述べられている.本論文では,Java をベースとして差分ベースモジュールをサポートしたMixJuice という言語でデザインパターンを書き直すとさまざまな問題が除去でき,より拡張性の高い設計が可能であることを示す.差分ベースモジュールでは既存のソースコードを修正せずにクラスを変更できる.これにより,デザインパターンに5 種類の改善が行われる.1) 既存のモジュールが定義したクラスにインタフェースを追加するなどにより新しいデザインパターンに参加させることができるようになる.2) 既存のクラス階層のスーパークラス部分にアブストラクトメソッドを追加するなどにより従来はできなかった拡張性が生まれる.3) 1 つのクラスの複数の観点を複数のモジュールに分割して定義することにより各観点ごとのスコープを実現し,より適切に情報隠蔽を行える.4) 動的な拡張性が必要ない場合,リンク時のモジュール選択によりサブクラスを使わずに拡張性を実現できる.これにより,概念的に1 つのクラスを実際に1 つのクラスにすることができ,不要なダウンキャストを排除でき型安全性が高まる.5) リンク時の機能選択によりクラス数を減少させ動的な構造を単純にできる.本論文ではレイヤードクラス図により差分ベースモジュールによるデザインパターンの構造を図示し,これらの利点を既存のデザインパターンカタログとの比較により示す.
This paper presents bene?ts of the diffence based modules with design patterns. The design patterns are a catalog of designs to achive extensible architecture in object oriented languages.But the catalog also points out several problems which is caused by the limitation of the module system of the languages. The paper presents the problems can be ?xed by MixJuice which is a Java-based language with the difference based modules. The difference based modules makes it possible to modify existing classes without modi?ng existing source code. The design patterns can be improved in 5 ways by the class modi?cation. 1) An existing class can be participant to a design pattern by adding a interface. 2) Adding an abstract method in the superclass of existing class hierarchy makes a pattern more extensible. 3) Several concerns of a class can be hide thier information each other by implement the class by separated modules.4) When run-time extensibility is not required, link-time extensibility by module selection can be ued. It makes a system more type safe by avoiding useless downcast. 5) The link-time module selection also reduces number of classes and simplify a system. The paper presents layered class diagrams of design patterns for MixJuice and compare them to patterns for existing languages.
Journal
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 44 (SIG04(PRO17)), 25-46, 2003-03-15
情報処理学会
- Tweet
Keywords
Details 詳細情報について
-
- CRID
- 1050564287843995648
-
- NII Article ID
- 110002711930
- 10011474172
-
- NII Book ID
- AA11464814
-
- ISSN
- 18827802
- 03875806
-
- NDL BIB ID
- 6520310
-
- Text Lang
- ja
-
- Article Type
- journal article
-
- Data Source
-
- IRDB
- NDL Search
- CiNii Articles