2012-02-16 89 views
-1

什麼是接口實現隱藏在OOPS中?有什麼優勢?隱藏在OOPS中的接口實現

請幫助我通過展示如何隱藏C#中的接口實現?

+2

你可以請你優化你的問題。關於接口和麪向對象編程,你想了解什麼並不是很清楚。 – 2012-02-16 18:46:45

+0

你的意思是隱藏DI等接口的實現嗎?這是[SOLID](http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29)原理之一。您可以找到任何常用C#DI框架的示例,例如ninject。 – Rup 2012-02-16 18:48:28

+0

我相信你不需要DI框架來展示如何隱藏實現並使客戶端類依賴於一個接口。 – 2012-02-16 18:55:26

回答

5

隱藏實現的接口後=讓您的客戶端類依賴的接口,而不是執行上,即:

class A { 
    // make use of B somehow 
    void Foo(B b) 
} 

class B { } 

成爲

interface IB { } 

class A { 
    // hide the implementation behind an interface 
    void Foo(IB b) { } 
} 

class B : IB { } 

隱藏實現的好處是,你可以改變在不同的實現之間,客戶端代碼不會改變。

+0

不是很清楚你想說什麼。 – Thomas 2012-02-17 06:24:16