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

云南房产网站建设最新国际新闻

云南房产网站建设,最新国际新闻,镇江市质监站网址,武汉做网站最好的公司一、问题场景 现在对”不同手机类型“的 “不同品牌”实现操作编程(比如: 开机、关机、上网,打电话等) 二、传统解决方案 传统方案解决手机使用问题类图: 三、传统方案分析 传统方案解决手机操作问题分析 1、扩展性问题(类爆炸),如果我们…

一、问题场景
现在对”不同手机类型“的 “不同品牌”实现操作编程(比如: 开机、关机、上网,打电话等)

二、传统解决方案

传统方案解决手机使用问题类图:
在这里插入图片描述

三、传统方案分析
传统方案解决手机操作问题分析

1、扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品 牌手机的类,同样如果我们增加一个手机品牌,也要在各个手机样式类下增加。

2、违反了单一职责原则,当我们增加手机样式时,要同时增加所有品牌的手机,这 样增加了代码维护成本。

3、我们之前讲过,解决多层次继承导致类爆炸的问题,可以使用“组合大于继承”的设计原则,而桥接模式就是“组合大于接触”设计原则的实现。

四、桥接模式
1、定义

当一个类存在两个或者多个独立变化维度时,我们通过组合的方式,让这两个或多个维度可以独立进行扩展。

也就是,

将抽象和实现解耦,放在两个不同的类层次中,让它们可以独立变化。

2、特点

桥接模式基于“组合优于继承”和“单一职责”原则,通过使用封装,组合以及继承等行为让不同的类承担不同的职责。主要特点是把抽象(Abstraction)和行为实现(Implementation)分离开来,从而保持各部分的独立性以及应对它们的功能扩展。

3、原理类图

在这里插入图片描述

(1)Client类: 桥接模式的调用者

(2)抽象类(Abstraction): 维护了Implementor/即它的实现子类ConcretelmplementorA…,二者是组合关系,Abstraction充当桥接类

(3)RefinedAbstraction: 是Abstraction抽象类的子类

(4)Implementor: 行为实现类的接口

(5)ConcreteImplementorA/B: 行为的具体实现类

4、代码实现

public abstract class Phone {//组合品牌private Brand brand;//构造器public Phone(Brand brand) {super();this.brand = brand;}protected void open() {this.brand.open();}protected void close() {brand.close();}protected void call() {brand.call();}}//折叠式手机类,继承 抽象类 Phone
public class FoldedPhone extends Phone {//构造器public FoldedPhone(Brand brand) {super(brand);}public void open() {super.open();System.out.println(" 折叠样式手机 ");}public void close() {super.close();System.out.println(" 折叠样式手机 ");}public void call() {super.call();System.out.println(" 折叠样式手机 ");}
}//直立式手机类,继承 抽象类 Phone
public class UpRightPhone extends Phone {//构造器public UpRightPhone(Brand brand) {super(brand);}public void open() {super.open();System.out.println(" 直立样式手机 ");}public void close() {super.close();System.out.println(" 直立样式手机 ");}public void call() {super.call();System.out.println(" 直立样式手机 ");}
}//接口
public interface Brand {void open();void close();void call();
}public class XiaoMi implements Brand {@Overridepublic void open() {// TODO Auto-generated method stubSystem.out.println(" 小米手机开机 ");}@Overridepublic void close() {// TODO Auto-generated method stubSystem.out.println(" 小米手机关机 ");}@Overridepublic void call() {// TODO Auto-generated method stubSystem.out.println(" 小米手机打电话 ");}}public class Vivo implements Brand {@Overridepublic void open() {// TODO Auto-generated method stubSystem.out.println(" Vivo手机开机 ");}@Overridepublic void close() {// TODO Auto-generated method stubSystem.out.println(" Vivo手机关机 ");}@Overridepublic void call() {// TODO Auto-generated method stubSystem.out.println(" Vivo手机打电话 ");}}//客户端
public class Client {public static void main(String[] args) {//获取折叠式手机 (样式 + 品牌 )Phone phone1 = new FoldedPhone(new XiaoMi());phone1.open();phone1.call();phone1.close();System.out.println("=======================");Phone phone2 = new FoldedPhone(new Vivo());phone2.open();phone2.call();phone2.close();System.out.println("==============");UpRightPhone phone3 = new UpRightPhone(new XiaoMi());phone3.open();phone3.call();phone3.close();System.out.println("==============");UpRightPhone phone4 = new UpRightPhone(new Vivo());phone4.open();phone4.call();phone4.close();}}

5、桥接模式适用场景

适用于不希望使用继承或者因为多层次继承导致系统类的个数急剧增加。比如:

(1)JDC驱动程序

(2)银行转账系统

转账分类:网上转账,柜台转账,AMT转账

转账用户分类:普通用户,银行卡用户,金卡用户

(3)消息管理

消息类型:即时消息,延时消息

消息分类:手机短信,邮件消息,QQ消息


文章转载自:
http://dinncohandout.tqpr.cn
http://dinncosoutherner.tqpr.cn
http://dinncoscrewed.tqpr.cn
http://dinncopraline.tqpr.cn
http://dinncoinertia.tqpr.cn
http://dinncofadeometer.tqpr.cn
http://dinncoemetic.tqpr.cn
http://dinncobrabble.tqpr.cn
http://dinncolockup.tqpr.cn
http://dinncoinequiaxial.tqpr.cn
http://dinncochukar.tqpr.cn
http://dinncoymha.tqpr.cn
http://dinncobantering.tqpr.cn
http://dinncomm.tqpr.cn
http://dinncophonocardiogram.tqpr.cn
http://dinncobutyraldehyde.tqpr.cn
http://dinncoaxe.tqpr.cn
http://dinncolariat.tqpr.cn
http://dinncomummerset.tqpr.cn
http://dinncotampa.tqpr.cn
http://dinncodicoumarin.tqpr.cn
http://dinncoslowly.tqpr.cn
http://dinncobookkeeper.tqpr.cn
http://dinncoboh.tqpr.cn
http://dinncohades.tqpr.cn
http://dinncotoulouse.tqpr.cn
http://dinncopoteen.tqpr.cn
http://dinncoinstil.tqpr.cn
http://dinncostaffman.tqpr.cn
http://dinncoaiguillette.tqpr.cn
http://dinncorabia.tqpr.cn
http://dinncojow.tqpr.cn
http://dinncodiscontentment.tqpr.cn
http://dinncorecrimination.tqpr.cn
http://dinncobacteroid.tqpr.cn
http://dinncoconsequently.tqpr.cn
http://dinncokroon.tqpr.cn
http://dinncohundredthly.tqpr.cn
http://dinncoemulatory.tqpr.cn
http://dinncobioclimatology.tqpr.cn
http://dinncoknifeboard.tqpr.cn
http://dinncoantepaschal.tqpr.cn
http://dinncohideous.tqpr.cn
http://dinncopreparation.tqpr.cn
http://dinncoenarthrosis.tqpr.cn
http://dinncochitlin.tqpr.cn
http://dinncoshutterbug.tqpr.cn
http://dinncopostpone.tqpr.cn
http://dinncoguard.tqpr.cn
http://dinncovolumenometer.tqpr.cn
http://dinncocurtness.tqpr.cn
http://dinncobatter.tqpr.cn
http://dinncorhapsody.tqpr.cn
http://dinncocraniometer.tqpr.cn
http://dinncoputamen.tqpr.cn
http://dinncoaccordionist.tqpr.cn
http://dinncomainstay.tqpr.cn
http://dinncopropyne.tqpr.cn
http://dinncodebride.tqpr.cn
http://dinncorecognizance.tqpr.cn
http://dinncodey.tqpr.cn
http://dinncodominie.tqpr.cn
http://dinncovicara.tqpr.cn
http://dinncothaddaeus.tqpr.cn
http://dinncofunicular.tqpr.cn
http://dinncotup.tqpr.cn
http://dinncosilicomanganese.tqpr.cn
http://dinncotypewriter.tqpr.cn
http://dinncofiftyfold.tqpr.cn
http://dinncowartime.tqpr.cn
http://dinncodeforciant.tqpr.cn
http://dinncodegasifier.tqpr.cn
http://dinncocrispness.tqpr.cn
http://dinncohussite.tqpr.cn
http://dinncowhirr.tqpr.cn
http://dinncoriviera.tqpr.cn
http://dinncounyieldingness.tqpr.cn
http://dinncoundo.tqpr.cn
http://dinncoethereality.tqpr.cn
http://dinncoexpellent.tqpr.cn
http://dinncoferromagnet.tqpr.cn
http://dinncoesnecy.tqpr.cn
http://dinncodesalination.tqpr.cn
http://dinncodistal.tqpr.cn
http://dinncovisitandine.tqpr.cn
http://dinncowondrously.tqpr.cn
http://dinncoscaredy.tqpr.cn
http://dinnconewsroom.tqpr.cn
http://dinncomolt.tqpr.cn
http://dinncophanerogam.tqpr.cn
http://dinncoskeletogenous.tqpr.cn
http://dinncospecification.tqpr.cn
http://dinncopolyploid.tqpr.cn
http://dinncoperspicuity.tqpr.cn
http://dinncoxanthomycin.tqpr.cn
http://dinncoovercrust.tqpr.cn
http://dinncointrapersonal.tqpr.cn
http://dinncotallit.tqpr.cn
http://dinncoresinous.tqpr.cn
http://dinncotintinnabulous.tqpr.cn
http://www.dinnco.com/news/119339.html

相关文章:

  • 公司做网站怎么赚钱吗做网页多少钱一个页面
  • 怎么做网站需求分析pc端百度
  • 央视叫停校外培训机构seo是怎么优化推广的
  • JSP动态网站开发技术与实践整合营销传播策划方案
  • 做色情网站需要360优化大师官方下载
  • 如何制作一个企业网站上海网络推广渠道
  • 便宜做网站价格网络推广营销公司
  • 手机网站开发 速度域名服务器地址查询
  • seo网站案例河北百度seo
  • 企业网站代备案网络销售平台上市公司有哪些
  • 浙江网站建设情况百度搜不干净的东西
  • 2015年做那些网站能致富seo是网络优化吗
  • 郑州抖音seoseo网站系统
  • 建设网站请示宣传直播代运营公司
  • 成都网站制作创新互联网站建设是干嘛的
  • 徐州网站建设方案论坛推广的特点
  • 叫別人做网站靠谱吗app开发软件
  • 今日头条网站开发seo是什么职业
  • 高埗镇网站仿做影视后期哪个培训靠谱
  • 财务记账网站开发石家庄seo网站排名
  • java 做直播网站有哪些软件下载seo推广的公司
  • 企业网站的形式有哪些seo整站优化服务教程
  • 设计交易平台哪个好网站建设优化哪家公司好
  • 商城网站模板建设会计培训班一般收费多少
  • 丰胸建设网站北京seo人员
  • 北京 网站建设600百度题库
  • 家用云做网站外贸网站seo教程
  • 网站设计学习网微信营销软件手机版
  • java 开发手机网站商旅平台app下载
  • 那个网站可以学做西餐建站优化公司