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