【Java】【DI】「Java 基礎セミナ - DI」に行ってきた。
- 2008.12.12 Friday
- 23:44
Java 基礎セミナ - DI
http://www.java-users.jp/contents/events/basicseminar/200812di/index.html
というのに行ってきました。
今回の内容はDIの基本的な概念とDIの有意性についてでした。
講師の方の話の持っていき方に感動しました。
DIやDIコンテナに関しては業務で使用していることもあり
多少なりとも理解しているつもだったのですが、
今回のセミナーでより一層理解が深まったと思います。
人にDIやDIコンテナを教えるときは今回のセミナーをぜひとも参考にしたいところです。
ただ、私にはしゃべるテクニックも資料をうまく作るスキルも
そもそもプログラミング知識もありませんがー・・・・。
--------------------------------
(私がまとめた)覚書
DIを語るにはモジュールという概念を軸にして語るべし。
→モジュールを理解するとDIのメリットが分かりやすい。
DIとDIコンテナは違う。
・DIは設計概念
・DIコンテナは一つのソフトウェア(フレームワーク)
AOPはDIとセットと使用することが多い
※DIコンテナだと適用しやすいですね
モジュールとはシステムを構成する部品
モジュールとモジュールは相互作用する関係にある。
境界部分が規格化され、モジュールは交換可能。
モジュールとは(ソフトウェアの場合)
機能ごとに分割されたプログラム
モジュールは静的な概念
→オブジェクトを含まない。
静的 クラス、外部ファイル、インターフェイスなど
動的(実行時) オブジェクト
モジュールが求められるもの
変更容易性、テスト容易性、再利用性
変更容易性としてのプログラミングテクニックとして
カプセル化・ポリモーフィズムなどがある。
インターフェイスって何?
ものごとの境界となる部分
境界部分は規格化されている。
ポリモーフィズム 多態性
複数の型のオブジェクトを同一の型として扱うことができる性質。
カプセル化(隠蔽化)
モジュールの内部を外部から隠すこと
C#では
Interface ISay { void Execute() }
class Cat : ISay { public void Execute() { ... } }
・・・・・・
結構長くなりそうなのでやめます。
ちょっとじっくり考えながら作らない・・・。