当前位置: 首页 > news >正文

手机网站怎么导入微信西安学校网站建设报价

手机网站怎么导入微信,西安学校网站建设报价,长沙网站模板建设,wordpress简约模板桥接模式 1、定义 桥接模式:将抽象部分与它的实现部分解耦,使得两者都能独立变化 2、桥接模式结构 Abstraction(抽象类):它是用于定义抽象类的,通常是抽象类而不是接口,其中定义了一个Imple…

桥接模式

1、定义

桥接模式:将抽象部分与它的实现部分解耦,使得两者都能独立变化

2、桥接模式结构

  • Abstraction(抽象类):它是用于定义抽象类的,通常是抽象类而不是接口,其中定义了一个Implementor类型的对象并可以维护该对象,它与Implementor之间具有关联关系,既可以包含抽象业务方法,也可以包含具体业务方法
  • RefinedAbstraction(扩充抽象类):扩充Abstraction,通常情况下它不再是抽象类而是具体类,在RefinedAbstraction中可以调用在Implementor中定义的业务方法
  • Implementor(实现类接口):它是定义实现类的接口,这个接口不一定要与Abstraction完全一致,事实上两个接口可以完全不同。一般而言,Implementor仅提供基本操作,而Abstraction定义的接口可能会做更多更复杂的操作。通过关联关系,在Abstraction中不仅拥有自己的方法,还可以调用到Implementor中定义的方法,使用关联关系来替代继承关系
  • ConcreteImplementor(具体实现类):它实现了Implementor接口

在这里插入图片描述

3、示例

Abstraction 创建Person抽象类

public abstract class Person {private Clothing clothing;private String type;public Clothing getClothing() {return clothing;}public void setClothing(Clothing clothing) {this.clothing = clothing;}public void setType(String type) {this.type = type;}public String getType() {return this.type;}public abstract void dress();
}

RefinedAbstraction 创建Man、Lady类

public class Man extends Person{public Man() {setType("男人");}@Overridepublic void dress() {Clothing clothing = getClothing();clothing.personDressCloth(this);}
}
public class Lady extends Person {public Lady() {setType("女人");}@Overridepublic void dress() {Clothing clothing = getClothing();clothing.personDressCloth(this);}
}

Implementor 创建Clothing抽象类

public abstract class Clothing {public abstract void personDressCloth(Person person);
}

ConcreteImplementor 创建Jacket、Pants类

public class Jacket extends Clothing {@Overridepublic void personDressCloth(Person person) {System.out.println(person.getType() + "穿马甲");}
}
public class Pants extends Clothing {@Overridepublic void personDressCloth(Person person) {System.out.println(person.getType() + "穿裤子");}
}

测试类

public class Client {public static void main(String[] args) {Person man = new Man();Person lady = new Lady();Clothing jacket = new Jacket();Clothing pants = new Pants();jacket.personDressCloth(man);pants.personDressCloth(man);jacket.personDressCloth(lady);pants.personDressCloth(lady);}
}

输出结果

男人穿马甲
男人穿裤子
女人穿马甲
女人穿裤子

4、桥接模式优缺点

4.1优点
  • 分离抽象接口及其实现部分。使用对象间的关联关系解耦了抽象和现实之间固有的绑定关系,使抽象和实现可以沿着各自的维度来变化
  • 桥接模式在有些情况下可以取代多层继承方案,极大减少了子类的个数
  • 提高了系统的可扩展性,在两个变化维度中任意扩展一个维度都不需要修改原有系统,符合开闭原则
4.2缺点
  • 增加系统的理解与设计难度,关联关系建立在抽象层
  • 要求正确的识别出系统中的两个独立变化的维度,因此其适用范围具有一定的局限性

5、桥接模式的适用环境

1.不需要在抽象和它的实现部分之间有一个固定的绑定关系,在程序运行时刻实现部分程序可以被选择或者切换。

2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。 这时桥接模式可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。

3.对一个抽象的实现部分的修改应对其他业务不产生影响,即其他业务的代码不必重新编译。

4.需要在多个对象间共享实现(可能使用引用计数),但同时需要对其他业务无感知。

http://www.yayakq.cn/news/935594/

相关文章:

  • 网站幻灯视频网站自己怎么做的
  • 文章类网站选什么内容荆州seo技术厂家
  • 深圳网站优化哪家好p2p网站建设公司排名
  • 德国网站的后缀名免费企业邮箱排名
  • 网站建设com网站开发费走什么科目
  • 自己做qq头像网站实现网站计划书
  • 新公司网站建设分录在线设计发型
  • 怎么申请免费的网站WordPress上传文件格式
  • 搭建cms网站酒店网站开发协议
  • 兴义网站建设做网站需要干什么
  • 不准别人网站做反链郑州网站建设修改
  • 青岛制作网站的韩国ps教程网站
  • 营销网站售后调查系统河南省建设部省厅网站
  • 重庆专业的网站建设公司wordpress帝国cms
  • 公众号怎么建网站wordpress模板安装教程视频
  • 做免费网站网站策划的基本过程
  • 平面设计公司网站找生产厂家的网站
  • 无锡网站制作无锡做网站免费行情软件网站游戏
  • 四川住房城乡建设周刊网站做游戏交易网站
  • 网站建设策划书模板国外免费psd网站
  • 做设计网站模块的网站信息服务平台官网
  • 汕头网站建设技术支持桂林网络搭建
  • 北京哪家做网站和网络推广好的免费的客户管理软件排行榜
  • 做电影类网站徐州铜山区
  • 用dw做网站的流程域名访问wordpress
  • 网站建设顶呱呱贺卡制作
  • 珠海网站建设制作设计佛山模板建站代理
  • 惠州城乡和住房建设局网站微网站ui多少钱
  • 成都网站seo海外推广方法有哪些
  • 创建自己的博客网站织梦dedecms蓝色培训机构模板教育学校学院整站php网站源码