1. 程式人生 > >面向對象程序的設計模式

面向對象程序的設計模式

代碼 subject 函數 事件 類繼承 傳遞對象 我們 範圍 但是

設計模式很難定義,通俗來說,就像是寫作文的套路。程序員在程序設計總結了很多開發經驗,就形成了設計模式。

基本思想:1.將變化的和不變的部分分開,在修改和維護時只需要改動變化的部分。

具體方式:

1.類繼承是oop中的三大特點之一,可以實現代碼復用,並且代碼層次更清晰,但是繼承會使類的耦合度變高,簡單來說,一個類的改動可能會影響其他類,使代碼的修改和維護變得困難。靈活性可以使用接口設計,通過繼承接口,實現不同的行為,可以看到,代碼的復用性降低了,於是又引入了在接口中的適配器。實現代碼復用的其他方式為對象組合,將功能的實現委托(delegate)給其他對象。

2.多態:在向函數傳遞對象時,對象類型選擇範圍更廣。不是針對具體類編程,擴展性更強。

3.很多現實生活中的行為都可以抽象成方法,當然,此時我們只是抽象思考,並不關心它們的具體實現方式。比如觀察這模式。現實生活中的訂閱報紙很像。那麽事件類是怎麽註冊觀察者的呢?其實很多gui的組件在處理用戶交互的時候就用到了這種設計模式。這裏還有個問題就是,誰主動訂閱的?Observer持有Subject的對象引用,還是Subject對象持有Oberver對象的應用?

4

面向對象程序的設計模式