當我看完了前面比較常提到的實踐IoC之中的一方法是依賴注入(Dependence Injection),我也比較清楚這一塊,這個pattern算是比較清楚易懂了,他有點像是簡單版的Strategy pattern,說上簡單,其實應該說比較不複雜,其實在程式碼裡面,我們都常常不經意都會用到這些觀念.
我利用action script 3 去試試看Type - 2 的方式(這個方式比較正統點 因spring 很推薦使用)
1.
先設計你要用的interface
我選定的OS來當例子
package self.base { public interface Ios { function operating():void; } }2. 實作Ios interface 的兩個類別 mac.as 和 window.as
package self.abee { import self.base.Ios; public class mac implements Ios { public function mac() { } public function operating():void { trace("start mac"); } } }
package self.abee { import self.base.Ios; public class windows implements Ios { public function windows() { } public function operating():void { trace("start window"); } } }3.設定一個給外部使用的介面去把依賴注入設定好
package self { import self.base.Ios; public class OSObject { public var ios:Ios; public function set dependenceOS(ios:Ios):void { this.ios=ios; } } }4. test吧
package { import flash.display.Sprite; import self.OSObject; import self.abee.mac; import self.abee.windows; public class testDI extends Sprite { public function testDI() { var obj:OSObject=new OSObject; obj.dependenceOS=new windows; obj.ios.operating(); } } }
有沒有很簡單 ~~
這就是大家常常掛在嘴巴再說的 注入-依賴
type - 1 , type -3 大同小異 (只是注入的點不一樣)
沒有留言:
張貼留言