一、7個常用的面向對象設計原則
1、單一職責原則:
它是實現高內聚、低耦合的指導方針;一個對象應該只包含單一的職責,並且該職責被完整的封裝在一個類中;
2、開閉原則:
指軟件實體應盡量在不改變原有的代碼的情況下進行擴展;
3、里氏替換原則:
在運用里氏替換原則時應將父類設計為抽象類或者接口,讓子類繼承父類或實現父類接口,並實現父類中聲明的方法,在運行時子類實例替換父類實例,可以很方便的擴展系統的功能,無需修改子類原有的代碼,添加一個新功能只需新增一個子類來實現。
4、依賴倒轉原則:
它要求針對接口編程,不要針對實現編程;其在程序代碼中傳遞參數或關聯關系中應引用層次高的抽象層,即使用接口和抽象類進行變量類型聲明、參數類型聲明、方法返回值聲明,以及數據轉換聲明等,而不要使用具體類來做這些事情。
5、接口隔離原則;
客戶端不應該依賴那些不需要的接口,應盡量細化,同時接口中的方法應盡量少,每一個接口應該遵守單一職責,承擔一種獨立的角色。
6、合成復用原則:
優先使用組合、聚合,而不是用繼承來達到復用的目的;降低類與類之間的耦合度,盡量減少一個類的變化對其他類造成影響;
7、迪米特原則:
一個模塊發生修改時應盡量少的影響其他模塊,擴展會相對容易,可以通過中間類來轉發這個調用,來降低現有對象之間的耦合度,如果需要增加或刪除,可修改中間類即可;
二、24種設計模式歸納:
創建型模式(6種):
簡單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式
結構型模式(7種):
代理模式、適配器模式、裝飾器模式、橋接模式、組合模式、亨元模式、外觀模式
行為型模式(11種):
模板方法模式、策略模式、責任鏈模式、觀察者模式、命令模式
中介者模式、迭代器模式、解釋器模式、備忘錄模式、訪問者模式、狀態模式
