星空网 > 软件开发 > ASP.net

桥模式

桥模式:将某个问题抽象的不同形式分别与该问题的具体实现部分相分离,使他们都可以独立变化,并能够动态结合。类图如下:

桥模式

      例如电视厂商海尔,长虹生产21寸,29寸电视机。从这里要将它们分离出来,就用到桥模式。电视机与电视机生产厂商挂桥,从而,分离出不同厂商的实现,与不同电视机型号的实现.

桥模式

从上图可以看出,将实际抽象分离出来。

看下代码

创建电视机

1 public abstract class Television { 2   //电视厂商 3   protected TelevisionMaker televisionMaker; 4   //收看电视 5   abstract public void teleview(TelevisionMaker televisionMaker); 6 } 

 

创建生产厂商

1 public abstract class TelevisionMaker { 2   abstract public void produce(); 3 } 

 

电视机的型号,即继承电视机类

1 public class Inch21 extends Television{ 2    3   public void teleview(TelevisionMaker televisionMaker) { 4     System.out.println("21寸电视"); 5   } 6  7 } 

1 public class Inch29 extends Television{ 2    3   public void teleview(TelevisionMaker televisionMaker) { 4     System.out.println("29寸电视"); 5   } 6  7 } 

 

下面是不同厂商,即继承生产厂商

 1 public class ChangHong extends TelevisionMaker{  2   3   public ChangHong(){  4     System.out.println("长虹厂商");  5   }  6     7   public void produce() {  8     System.out.println("长虹厂商");  9   } 10 } 

 1 public class Haier extends TelevisionMaker{  2   public Haier(){  3     System.out.println("海尔厂商");  4   }  5     6   public void produce() {  7     System.out.println("海尔厂商");  8   }  9  10 } 

 

这样就使用了桥模式,将原本繁杂的系统分离开来。如果根据需求变动,要增加电视机生产型号或者电视机生产厂商,只需要实现相对应的抽象类即可。

这样,我们也可以根据用户的需要,得到他所需要的电视机,如长虹厂商出厂的29寸电视机。

测试代码如下:

1 public class Client { 2  3   public static void main(String[] args) { 4     // TODO Auto-generated method stub 5     Inch29 i = new Inch29(); 6     i.teleview(new ChangHong()); 7   } 8 } 

 

 结果:

       长虹厂商
       29寸电视




原标题:桥模式

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

51niche:https://www.ikjzd.com/w/1573152187845697538
51top:https://www.ikjzd.com/w/1573152194489131009
华农百灵电商:https://www.ikjzd.com/w/1573152195084722178
正面清单:https://www.ikjzd.com/w/1573152206430314497
绿色速递:https://www.ikjzd.com/w/1573152207131107329
晨星物流:https://www.ikjzd.com/w/1573152209538293761
怪物在游轮上复活的电影 怪物在游轮上复活的电影叫什么:https://www.vstour.cn/a/411230.html
在线旅游如何选择更优惠的旅游产品?:https://www.vstour.cn/a/411231.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流