Design Pattern – Separated Interface Pattern[转]
????? 在使用了分層設(shè)計(jì)的系統(tǒng)中,下層不應(yīng)使用上層提供的功能服務(wù)。當(dāng)下層必須使用上層提供的功能服務(wù)時(shí),可以將這些功能服務(wù)抽象出來成為一個(gè)窄接口,然后讓下層依賴這個(gè)窄接口。Separated Interface模式將上層和下層之間的雙向依賴轉(zhuǎn)變成上下兩層對(duì)一個(gè)窄接口的單向依賴。
????? 在Separated Interface模式背后,隱藏著一個(gè)十分重要的設(shè)計(jì)原則,它非常著名,卻因高深莫測(cè)的定義而難以被初學(xué)者理解,它就是依賴倒置原則。
Dependency Inversion Principle
????? Depend upon abstractions. Do not depend upon concret classes.
依賴倒置原則
????? 要依賴抽象。不要依賴實(shí)現(xiàn)類。
????? 這聽起來和“要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程”似乎差不多。的確,兩個(gè)設(shè)計(jì)原則都告訴我們應(yīng)該依賴抽象——這個(gè)OO與生俱來的能力與萬變不離其宗的原則。不過僅僅說“要依賴抽象”也太過抽象了,感覺與老子的那句“玄之又玄,眾眇之門”有得一拼。其實(shí),依賴倒置原則的特別之處并不在原則本身,而在于它的效果——將雙向依賴轉(zhuǎn)變成單向依賴。
????? 另外,在這里我不想解釋“倒置”或“反轉(zhuǎn)”的意思,因?yàn)槲野l(fā)現(xiàn)這些詞除了時(shí)髦好聽、令人印象深刻外,對(duì)問題的理解并無太大幫助,反而容易分散人們的注意力。
轉(zhuǎn)載于:https://www.cnblogs.com/5kuai/archive/2009/12/30/1636022.html
總結(jié)
以上是生活随笔為你收集整理的Design Pattern – Separated Interface Pattern[转]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT女工作者
- 下一篇: directx 9.27.1734 多语