六大設計原則
單一職責原則
裡式替換原則
依賴倒置原則
接口隔離原則
迪米特原則
開閉原則
定義:
Clients should not be forced to depend upon interfaces that they don’t use(用戶端不應該依賴它不需用的接口)
The dependency of one class to another one should depend on the smallest possible interface(類間的依賴關系應該建立在最小的接口上)
定義概括:
建立單一接口,不要建立臃腫龐大的接口。再通俗的一點講:接口盡量細化,同時接口中的方法盡量的少。
示例:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SN5kjZwkDN1gzM5YWO1cTM5MTZygDO4YjY5UWOiJTZh9CX2AzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
分析:
我們發現我們的接口 IPettyGirl 接口設計是有缺陷地,過于龐大了,容納了一些可變的因素,根據接口隔離原則,星探 AbstractSearcher 應該依賴與具有部分特質的女孩子,而我們卻把這些特質都封裝了起來,放到了一個接口中了,封裝過渡了!
修改後:
通過分散定義多個接口,可以預防未來變更的擴散,提高系統的靈活性和可維護性。
需要記住的内容:
據接口隔離原則拆分接口時,必須首先滿足單一職責原則。
其它:
嘻嘻,給我自己看的,反正其他人也看不懂。可以類似于同步接口中的同步終端與平台做對比分析。