桥梁模式案例 八戒“转世投胎”的故事

本节从桥梁模式的观点出发,讨论《西游记》中天蓬元帅转世投胎成猪八戒的故事。

如果存在灵魂的话,应当是抽象化角色,而肉体则是实现化角色。肉体为灵魂的功能提供了实现,就像具体Java类为抽象Java类提供了实现一样。

“转世投胎”系统的UML类图:

可以看出,“转世投胎”机制将尘世划分为两个等级结构:第一个等级结构是“灵魂”等级结构;第二个等级结构是“肉体”等级结构。前者相当于抽象化,后者相当于实现化。生灵通过功能的委派,调用肉体对象的功能,从而使生灵可以动态的选择自己的肉体。

在上面的UML类图中,各个角色与桥梁模式的角色的对应关系如下:

  • 抽象化角色:“灵魂”是一个抽象类,它给出所有的人、兽、怪、神的灵性的定义,规范出它们的方法和属性。
  • 修正抽象化角色:以八戒的例子来说,天蓬元帅的灵魂是八戒的抽象化角色,正如僧尼道俗、走兽飞禽、魑魅魍魉的灵性是它们的抽象化角色一样。这些抽象化角色是具体的抽象化角色,换句话说,它们是在抽象化角色“灵魂”下面的具体化角色,但是它们又是“人”、“鱼”、“鸟”等肉体的抽象化角色。
  • 实现化角色:这个角色就是“肉体”。这个抽象类规范具体实现化角色,规范出具体实现化角色应当有的方法和属性
  • 具体实现化角色:这就是各种肉体的驱壳,包括人、鱼、鸟等。
时间: 2024-10-10 17:37:53

桥梁模式案例 八戒“转世投胎”的故事的相关文章

设计模式之桥接模式(八)

设计模式之桥接模式 一.引言 每个人都有吃饭睡觉的行为,这时我们可以抽象出来一个人类型,然后让每个人去继承人类型,这时,每增加一个人,我们只需扩展一个子类就可以了,但是,人类型需要增加行为时,比如增加一个玩手机的行为,我们只许在人类型中扩展玩手机这一个方法,但是对于子类来说,如果这时子类数量相当庞大时,子类需要进行大量的修改. 我们可以使用桥接模式,将抽象和实现分离. 二.介绍 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象

设计模式之禅之设计模式-桥梁模式

一:桥梁模式定义        --->桥梁模式(Bridge Pattern)也叫做桥接模式,是一个比较简单的模式        --->将抽象和实现解耦,使得两者可以独立地变化. 二:桥梁模式角色 ● Abstraction——抽象化角色        它的主要职责是定义出该角色的行为,同时保存一个对实现化角色的引用,该角色一般是抽象类.● Implementor——实现化角色        它是接口或者抽象类,定义角色必需的行为和属性.● RefinedAbstraction——修正抽象

设计模式之桥梁模式和策略模式的区别

桥接(Bridge)模式是结构型模式的一种,而策略(strategy)模式则属于行为模式.以下是它们的UML结构图. 桥梁模式: 策略模式: 在桥接模式中,Abstraction通过聚合的方式引用Implementor. 举一个例子: 策略模式:我要画圆,要实心圆,我可以用solidPen来配置,画虚线圆可以用dashedPen来配置.这是strategy模式. 桥接模式:同样是画圆,我是在windows下来画实心圆,就用windowPen+solidPen来配置,在unix下画实心圆就用uni

桥梁模式(Bridge Pattern)

桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”. 桥梁模式的用意 桥梁模式虽然不是一个使用频率很高的模式,但是熟悉这个模式对于理解面向对象的设计原则,包括“开-闭”原则以及组合/聚合复用原则都很有帮助.理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格.桥梁模式的用意是“将抽象化(Abstraction

微信营销案例八 游戏式营销

案例八:1号店 游戏式营销 1号店在微信当中推出了“你画我猜”活动,将活动方式是,用户通过关注1号店的微信账号,每天1号店就会推送一张图片给订阅用户,然后,用户可以会发答案来参与到这个游戏当中来.如果猜中图片答案并且在所规定的名额范围内的就可以获得奖品. 其实“你画我猜”的概念是来自于火爆的App游戏Draw  Something,并非1号店自主研发,只是1号店首次把游戏的形式结合到微信活动推广中来. 微信营销案例八 游戏式营销,布布扣,bubuko.com

Java设计模式(五)外观模式 桥梁模式

(九)外观模式 外观模式为子系统提供一个接口,便于使用.解决了类与类之间关系的,外观模式将类之间的关系放在一个 Facade 类中,降低了类类之间的耦合度,该模式不涉及接口. class CPU { public void startup(){ System.out.println("cpu start"); } public void shutdown(){ System.out.println("cpu stop"); } } class Memory { pu

桥梁模式

桥梁模式:目的是将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化. 桥梁模式的类图如下: Abstraction是业务抽象角色,Implementor是业务实现角色,业务抽象角色引用业务实现角色.例如:Abstraction是公司,Implementor是产品.文笔学识有限,请参考链接: http://www.cnblogs.com/java-my-life/archive/2012/05/07/2480938.html 桥梁模式,布布扣,b

【设计模式】 模式PK:策略模式VS桥梁模式

1.概述 我们先来看两种模式的通用类图. 两者之间确实很相似.如果把策略模式的环境角色变更为一个抽象类加一个实现类,或者桥梁模式的抽象角色未实现,只有修正抽象化角色,想想看,这两个类图有什么地方不一样?完全一样!正是由于类似场景的存在才导致了两者在实际应用中经常混淆的情况发生,我们来举例说明两者有何差别. 大家都知道邮件有两种格式:文本邮件(TextMail)和超文本邮件(HTMLMaiL),在文本邮件中只能有简单的文字信息,而在超文本邮件中可以有复杂文字(带有颜色.字体等属性).图片.视频等,

《JAVA与模式》之桥梁模式

桥梁模式是对象的结构模式.又称为柄体(Handle and Body)模式或接口(Interface)模式.桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化". 桥梁模式的用意 桥梁模式虽然不是一个使用频率很高的模式,但是熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则以及组合/聚合复用原则都很有帮助.理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格. 桥梁模式的用意是&