1.單一職責模式
定義:一個類中應該是一組相關性很高的函數、數據的封裝。
目的:便於類的維護與易讀
使用場景:各種工具類、開源架構。
2.里氏替換原則
定義:所有引用基類的地方必須能透明地使用其子類的對象。
目的:主要是指爲了讓用戶擁有某項功能的選擇權而讓用戶自行擴展選擇我們的功能類。
使用場景:對圖片下載緩存模式的選擇,對retrofit中數據解析格式的選擇等
3.開閉原則
定義:對修改關閉,對擴展開放
目的:用戶在使用類的功能時,不足以滿足現階段的需求,所以需直接使用繼承類。
使用場景:各種基類的使用,常用功能類的繼承
4.依賴倒置原則
定義:高層次的模塊不能依賴於底層次的模塊
特點:高層模塊不應該依賴底層模塊,兩者應該依賴抽象,抽象不應該依賴細節,細節應該依賴抽象。
5.接口隔離原則
定義:客戶端不應該依賴於它不需要的接口
目的:使類與類之間解耦,相互之間沒有依賴關係
使用場景:流的關閉,close的調用,clone的實現
6.迪米特原則
定義:一個對象應該對其他對象有更少的瞭解
目的:與其他類之間的解耦
使用場景:代理模式,中介者模式等