Java 開發(fā)設計的六大基本原則

1、遵循單一職責原則

1)一個類只專注于做一件事;
2)高內聚,低耦合;

2、開放-封閉原則

1)對拓展開放,對修改關閉(盡可能不動原有代碼進行拓展);
2)高內聚,低耦合;
3)為達到目的,需對系統(tǒng)進行抽象化設計(關鍵);

image.png

3、里氏替換原則

1)子類必須能夠替換它們的基類,基類與子類可互換,客戶端沒有察覺情況下;
2)低耦合;
3)很容易實現同一父類下的各個子類的互換,而客戶端可以毫不察覺;

image.png

士兵只能使用WeaponGun,而無法使用ToyGun殺敵,如果使用ToyGun將會出錯。這就是里氏替換原則。

4、依賴倒置原則

這個是開閉原則的基礎,具體內容:面向接口編程,依賴于抽象而不依賴于具體。寫代碼時用到具體類時,不與具體類交互,而與具體類的上層接口交互。

5、接口隔離原則

1)使用多個專一功能的接口比使用一個總接口總要好,但不能過渡;
2)一個接口不能過于臃腫;
3)高內聚
4)會使一個軟件系統(tǒng)功能拓展時,修改的壓力不會影響到別的對象那去;

Model只要滿足好身材這個條件,就有可能成為模特,漂亮女孩滿足好身材和好。AngelaBaby即有好身材又好。

6、迪米特原則

1)又叫最少知識原則;
2)對象與對象之間應該使用盡可能少的方法來關聯,避免千絲萬縷的關系;
3)低耦合;
4)類知道其他類應盡量少;
5)類可以訪問其他類的方法或者屬性也應盡量少;

如果Lily和Jack自己做hamburg那么就會與Vegetable、Meat、Bread產生千絲萬縷關系。上圖,則由KFC來做,這樣Lily和Jack就只與Hamburg有關關聯,與材料就沒有關聯了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容