今天看了下设计模式中的桥接模式,发现还是很有趣味的,笔记之。举个例子,比如GG要约会MM,不同的MM喜欢喜欢不同的地点,
比如rose喜欢去电影院,KITTY喜欢去西餐厅,而TOM,peter 都是GG,他们要分别去约会这两位MM了,而约会的地点,全部由MM决定
首先是MM接口
package com.liao.bridge1;
public interface MM {
void date();
}
Rose:
package com.liao.bridge1;
public class Rose implements MM {
public void date()
{
System.out.println("我是Rose,我喜欢去电影院");
}
}
Kitty:
package com.liao.bridge1;
public class Kitty implements MM {
public void date()
{
System.out.println("我是kitty,我喜欢去西餐厅吃西餐");
}
}
GG的接口
package com.liao.bridge1;
public abstract class GG {
protected MM mm;
public abstract void dateplace();
//根据不同约的对象,返回不同的MM实例
protected MM chooseplace(String girl)
{
if (girl.equals("rose"))
{
return new Rose();
}
else if (girl.equals("kitty"))
{
return new Kitty();
}//默认约ROSE
else{
return new Rose();
}
}
}
TOM:
package com.liao.bridge1;
public class TOM extends GG{
private MM mm;
public TOM(String girl)
{
mm=chooseplace(girl);
}
public void dateplace()
{
mm.date();
}
}
Peter:
package com.liao.bridge1;
public class Peter extends GG{
private MM mm;
public Peter(String place)
{
mm=chooseplace(place);
}
public void dateplace()
{
mm.date();
}
}
主程序
package com.liao.bridge1;
public class Client{
public static void main(String[] args) {
System.out.println("我是TOM,我想约rose");
GG tom=new TOM("rose");
tom.dateplace();
System.out.println("我是TOM,我想约kitty");
tom=new TOM("kitty");
tom.dateplace();
System.out.println("我是Peter,我想约rose");
GG peter=new Peter("rose");
peter.dateplace();
System.out.println("我是Peter,我想约kitty");
peter=new Peter("kitty");
peter.dateplace();
}
}
运行起来
我是TOM,我想约rose
我是Rose,我喜欢去电影院
我是TOM,我想约kitty
我是kitty,我喜欢去西餐厅吃西餐
我是Peter,我想约rose
我是Rose,我喜欢去电影院
我是Peter,我想约kitty
我是kitty,我喜欢去西餐厅吃西餐
可以看到桥接模式还是很不错的哦,在实际应用中,比如一个程序,有三类不同的功能,而这个程序需要分别在不同的操作平台运行的话,可以大大减少子类的数量哦,当然对桥接模式更深的讨论可以参见园子里其他朋友的文章
分享到:
相关推荐
### 设计模式之桥接模式详解 #### 一、桥接模式概述 桥接模式(Bridge Pattern)是一种常用的结构型设计模式,它主要用于解决抽象部分和实现部分的耦合问题。这种模式通过将抽象和实现分离,使得两者可以独立变化...
桥接模式是软件设计模式中的一种结构型模式,它的主要目的是为了实现抽象和实现的解耦,使得两者可以独立地进行扩展。在桥接模式中,抽象类(Abstraction)不直接引用具体实现(Implementation),而是通过一个桥接...
桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它主要解决的是在软件设计中,当抽象和实现之间存在紧密耦合时,如何使这两者能够独立地变化。这种模式通过引入一个抽象层来分离接口和实现,使得它们可以...
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使得两者可以独立地变化。这种模式常用于需要在多个维度上变化的场景,比如不同的形状和颜色,允许在不改变客户端代码的情况下增加新...
桥接模式(Bridge Pattern)是设计模式中的一种结构型模式,它的主要目的是将抽象部分与实现部分解耦,使得它们可以独立地进行变化。在上述的例子中,通过将电视台(CCTV)与节目(Program)进行分离,实现了两者...
C++设计模式之桥接模式(Bridge) 桥接模式(Bridge)是一种结构型设计模式,它的主要作用是将抽象部分与实现部分分离,使它们可以独立地变化。这使得系统更加灵活、可扩展和易于维护。 桥接模式的定义 桥接模式...
桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。 正文 桥接模式最常用在事件监控上,先看一段代码: 代码如下: addEvent(element, ‘click’, getBeerById); function getBeerById(e) {...
本文实例讲述了Python设计模式之桥接模式原理与用法。分享给大家供大家参考,具体如下: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化. 下面是一个桥接模式的demo: #!/usr/bin...
桥接模式是设计模式中的一种结构型模式,它旨在将抽象部分与实现部分解耦,使得它们可以独立地变化。这种模式将抽象类和它的实现类进行分离,通过一个抽象接口来连接它们,使得两者可以独立发展,增加了系统的灵活性...
Java设计模式之桥接模式实例详解 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,...
桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立进行变化。这种模式在软件工程中被广泛应用于处理组件之间的耦合问题,使得系统具有更好的可扩展性和灵活性。 桥接模式的主要组成部分...
来写一个大家既陌生又熟悉的设计模式,也是非常实用的一个设计模式,那就是桥接模式。说陌生是很多朋友并不熟悉这个设计模式,说熟悉是很多人经常见到或者是下意识的用到这个设计模式,只是不知道罢了。桥接模式是...
### 设计模式11桥接模式 #### 模式动机 桥接模式是解决系统中存在多维度变化问题的一种有效手段。例如,在图形绘制场景中,假设需要绘制不同形状(如矩形、圆形、椭圆、正方形)并赋予它们不同的颜色(如红色、...