BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JavaモジュールのProposal: iJAM

JavaモジュールのProposal: iJAM

新たなプロポーサルであるiJAM(サイト・英語)がJSR-294(サイト・英語)上にて広まり、モジュールディベロップメントのメーリングリスト(source)にはその"スーパーパッケージ”用の試案プロポーサル(source)の内容の変更を提案するものもあったが、それに関してDoug Lea氏から前向きな意見(source)が得られた。

「そのプロポーサル」は最高です!ノンリバースdfsが単にあなたが欲しがったものというわけではなかったことを理解するのには時間がかかりましたが、"import own M"と"import M as X"を簡潔にサポートするキーとなっているのです。

iJAM、もっと表現性と直感性のある動作(PDF・英語)がJavaモジュールシステムに潜在している弱点を解説する。

私たちは、モジュールシステムがたくさんの複雑なソフトウェアデザインの問題解決の助けとなることを発見しましたが、それでもまだ私たちの言う高レベルの分割問題を解決するのにはまだ表現性が足りないのです。また私たちはモジュールとクラス定義ルックアップ機能が多少、非直感性ビヘイビアを供給することに気づきました。

高レベルの分割問題は、2つのモジュールが存在していて、それらが3つ目のモジュールに依存しており、それ同士が反発したときに起こるものである。非直感性のルックアップ機能は提案されたリバースdepth-firstサーチを提示し、またそれはもっと低レベルのモジュールがそのスコープをコントロールするのを困難にさせるのだ。

iJAMプロポーサルはこの問題を次の方法を用いて解決しようとする。クラスとモジュール定義のDepth-first(self then parent)ルックアップ-モジュールの共有コントロールを許容するクラスをインポートする。

Java Module Systemの早期アクセスリリースとiJAMはダウンロード可能で実験、テスト済みである。これはプロポーサルで実験してみる良い機会である。それが動作をしているのを見てまたそれはフィードバックもくれる。

これに関する更なる情報に関しては下記の文献を読んでみてほしい。JSR-277: Java Module System(source)、JSR-294: Improved Modularity Support in the Java Programming Language(source)、JSR-291: Dynamic Component Support for Java SE(source) またこのプロポーサルの価値とオーバーラップ、またOpenJDKプロジェクトからの277と294の早期アクセスリリース(source)における論争に関する情報は今後もInfoQにて入手して欲しい。

原文はこちらです:http://www.infoq.com/news/2007/10/java-modularity-ijam

この記事に星をつける

おすすめ度
スタイル

BT