google-code-prettify

2015年2月25日 星期三

面對對象??

我觉得,这篇文章的例子举得太差了,差得感觉就像是OO的高级黑。面向对象编程注重的是:1)数据和其行为的打包封装,2)程序的接口和实现的解耦。你那怕,举一个多个开关和多个电器的例子,不然就像STL中,一个排序算法对多个不同容器的例子,都比这个例子要好得多得多。老实说,Java SDK里太多这样的东西了。
我以前给一些公司讲一些设计模式的培训课,我一再提到,那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了。
设计模式就三个准则:
1)中意于物件组合而不是物件继承,
2)依赖于接口
(實作介面程式--反轉控制→ 依賴注入--參數注入<只有函式有> or 屬性注入<類中有的>)
而不是实现 (個別類程式),
3)高内聚,低耦合。你看,这完全就是Unix的设计准则

參考:

如此理解面向对象编程

http://coolshell.cn/articles/8745.html



Spring 的核心概念是 IoC,IoC 的抽象概念是「依賴關係的轉移」,像是

「高層模組不應該依賴低層模組,而是模組都必須依賴於抽象」是 IoC 的一種表現,

「實現必須依賴抽象,而不是抽象依賴實現」也是 IoC 的一種表現,

「應用程式不應依賴於容器,而是容器服務於應用程式」也是 IoC 的一種表現。 













沒有留言:

張貼留言