12. DIxAOPについて (DIとは)
DI実装例イメージ
interface Camera { 端末名により、
public void capture();} Xperia用かIS03用の
class XperiaCamera implements Camera { いずれかのインスタンスを
public void capture(){//Xperia用の実装};} 返します。
class IS03Camera implements Camera {
public void capture(){//IS03用の実装};}
/*利用側*/Camera camera = Factory.getCamera(端末名);
camera.capture();
(※)挙動を固定化させてしまう、特定クラスを new する実装記述を避けます。
【補足】 依存性注入形式の違い
コンポーネントへのインスタンス注入を
フレームワークが自動的に行う場合は、DIパターンになり、
利用者側が自発的に行う場合は、Factory パターンになります。
12 Android で DIxAOP