心胸决定格局,眼界决定境界...

桥接模式

对象的继承关系在编译前就已经确定好了,如果继承下来的实现不适合解决问题,则父类必须重写或者被替换。

优先使用合成/聚合原则。

 

实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减小他们之间的耦合。

 例如手机  可以按照      品牌分类,也可以按照软件 分类

手机品牌  <>---------------------手机软件

 

abstract  class    HandSoft  //手机软件

{

    public   abstract void Run();

}

//按照手机软件分类

//手机游戏

class HandSetGame : HandSoft

{

  public override void Run()

  {

     //运行手机游戏

   }

}

//手机通讯录

class HandSetAddressList : HandSoft

{

public override void Run()

  {

     //运行手机通讯录

   }

}

//手机品牌类

abstract class HandsetBrand

{

 protected HandSoft  soft;//维护导入的手机软件

 public void   SetHandsetSoft(HandSoft soft)//外界导入 手机软件

{

   this->soft = soft;

 }

 public   abstract void Run();//运行

}

//手机品牌N

class HandsetBrandN : HandsetBrand

{

   public override void Run() //具体子类的Run

{

    soft.Run();

}

 

 

}

 

posted @ 2014-01-08 17:19  WELEN  阅读(114)  评论(0)    收藏  举报