Analytics

2013年3月29日 星期五

[Design Pattern]Structural Pattern-Bridge Design Pattern(橋接模式)

使用時機:
實現低耦合,物件間可以切換且彼此獨立存在.
系統中功能各自獨立且須獨立開發時,可使用此方式統一調用,但各自獨立.
例如:.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( ));
new  Abstraction  (new  ImplementationB( ).Operation( ));
參考書籍c#3.0 design pattern

沒有留言:

熱門文章