實現低耦合,物件間可以切換且彼此獨立存在.
系統中功能各自獨立且須獨立開發時,可使用此方式統一調用,但各自獨立.
例如:.NetFramework各版本可以獨立存在,且使用時須指定使用的版本或路徑
使用方式:
class BridgePattern以上面的例子來說:
{
class Abstraction
{
IBridge bridge;
public Abstraction (IBridge implementation)
{
bridge = implementation;
}
public string Operation ( ) {
return "Abstraction <<< BRIDGE >>>> "+bridge.OperationImp( );
}
}
interface IBridge
{
string OperationImp( );
}
class ImplementationA : IBridge
{
public string OperationImp ( )
{
return "ImplementationA";
}
}
class ImplementationB : IBridge
{
public string OperationImp ( )
{
return "ImplementationB";
}
}
}
使用 Abstraction class作橋接,由其中的Operation ( )來判斷叫用物件
當各物件透過繼承IBridge 介面時,統一對外的動作
也就是說外部存取時,可以同時存在ImplementationA ,ImplementationB且調用時使用指定物件方式個物件不會互相干擾
而外部存取時,使用方式如下
new Abstraction (new ImplementationA( ).Operation( ));參考書籍c#3.0 design pattern
new Abstraction (new ImplementationB( ).Operation( ));
沒有留言:
張貼留言