接口隔离原则_是时候深入学习一下“接口隔离原则”了
來自菜鳥的關懷
隨著天氣越來越熱,大家是不是都已經過上“左手小冰棍,右手大西瓜,吹著小空調,樂的笑哈哈”的日子了?不過還是要在這里提醒大家一下,冷飲、空調雖然好,但是一定要適度啊!
這不最近菜鳥就因為歡樂過度,樂極生悲了,急性腸胃炎找上了。拉肚子,拉到懷疑人生,上廁所,上到頭皮發麻,整個人都已經虛脫了。所以大家一定要多多注意,千萬別跟菜鳥一樣吃壞肚子。
雖然身體不適,但是菜鳥還在堅持寫文章。看在菜鳥這么努力的份上大家記得點贊加關注呦!
基本概念
專業解釋:
1、客戶端不應該依賴它不需要的接口。
2、一個類對另一個類的依賴應該建立在最小的接口上。
是不是有種雨里霧里的感覺?這就對了,只有不好理解才能稱得上專業嗎!
好了好了,開玩笑啦!讓菜鳥來解釋一下。
一個接口只應該被賦予一種職責(角色),不可以將不同職責都交給一個接口。
接口隔離原則的好處
1、單一化接口的職責,從而有效地避免接口污染。2、當一個接口的方法過多,往往會造成使用該接口的類中閑置一些方法,造成代碼的冗余,通過細分接口可有效避免該現象。3、可以提高代碼的靈活性,就好比搭積木一樣,我們可以將一個大的接口拆成多個小接口,不同的小接口可以有多種組合。4、促使程序高內聚、低耦合。
注意:細化接口雖好,但是也不可一味地盲目拆分,不然會增加接口的數量,提高系統的維護成本。
代碼示例
先展示一下未遵守接口隔離原則的代碼
public interface School { /** * 上課 */ void attendClass(); /** * 下課 */ void afterClass(); /** * 學習 */ void learn(); /** * 講課 */ void lecture();}如上代碼,假設此時有一個People類,它的角色是學生,實現了School接口。它就會被迫實現“講課”這個方法,事實它是不需要該方法的。這就造成了代碼的冗余,使我們的代碼變得臃腫。
按照接口隔離原則,我們可以將上面的大接口拆分成3個小的接口。
學校接口:
public interface School { /** * 上課 */ void attendClass(); /** * 下課 */ void afterClass();}老師接口:
public interface Teacher { /** * 講課 */ void lecture();}學生接口:
public interface Student { /** * 學習 */ void learn();}通過上面的拆分我們就可以有效避免冗余代碼的產生,進而還可以促使我們的代碼變得更加靈活。
以上就菜鳥對接口隔離原則的一點自己的看法,如果文章那里寫的不合理的希望大家可以提出來。還有一點需要提醒大家的就是:凡事都是利弊共存,我們需要學會權衡利弊,找到最優的解決方法,促使程序變得更加的優秀。好了今天的分享就到這里了,感覺文章寫得還不錯的記得給點贊加關注呦,最后祝大家周末愉快!
總結
以上是生活随笔為你收集整理的接口隔离原则_是时候深入学习一下“接口隔离原则”了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 治疗不孕病名医
- 下一篇: 如何获取58上真实号码_如何获取Apol