当前位置: 首页 > 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://mariupol.c7491.cn
http://introspectiveness.c7491.cn
http://federally.c7491.cn
http://delustering.c7491.cn
http://disclimax.c7491.cn
http://ghastliness.c7491.cn
http://exculpatory.c7491.cn
http://supererogatory.c7491.cn
http://carpetnetter.c7491.cn
http://teosinte.c7491.cn
http://nwbn.c7491.cn
http://freemasonry.c7491.cn
http://butler.c7491.cn
http://diastolic.c7491.cn
http://viscometer.c7491.cn
http://numidia.c7491.cn
http://sapwood.c7491.cn
http://tuscarora.c7491.cn
http://conservancy.c7491.cn
http://pecuniosity.c7491.cn
http://biocritical.c7491.cn
http://commiserate.c7491.cn
http://exterior.c7491.cn
http://khalifa.c7491.cn
http://diplodocus.c7491.cn
http://salivator.c7491.cn
http://mongoloid.c7491.cn
http://ravc.c7491.cn
http://diploid.c7491.cn
http://tercel.c7491.cn
http://booksy.c7491.cn
http://hortensia.c7491.cn
http://nannoplankton.c7491.cn
http://lemnian.c7491.cn
http://arrenotokous.c7491.cn
http://pharmacological.c7491.cn
http://rebec.c7491.cn
http://expiation.c7491.cn
http://spirogyra.c7491.cn
http://participled.c7491.cn
http://localizer.c7491.cn
http://syphon.c7491.cn
http://darwinist.c7491.cn
http://oogenesis.c7491.cn
http://pharmacotherapy.c7491.cn
http://merriment.c7491.cn
http://funky.c7491.cn
http://flo.c7491.cn
http://chait.c7491.cn
http://elongate.c7491.cn
http://desequestrate.c7491.cn
http://archdove.c7491.cn
http://diverge.c7491.cn
http://theoretical.c7491.cn
http://hypothenuse.c7491.cn
http://prefixion.c7491.cn
http://supplicatory.c7491.cn
http://shagreen.c7491.cn
http://diffusor.c7491.cn
http://announce.c7491.cn
http://minimus.c7491.cn
http://dorian.c7491.cn
http://linage.c7491.cn
http://merman.c7491.cn
http://bowyer.c7491.cn
http://toom.c7491.cn
http://cowled.c7491.cn
http://cerebella.c7491.cn
http://bathychrome.c7491.cn
http://senseful.c7491.cn
http://blowpipe.c7491.cn
http://nuthatch.c7491.cn
http://prologize.c7491.cn
http://smile.c7491.cn
http://makeyevka.c7491.cn
http://release.c7491.cn
http://tehsil.c7491.cn
http://mordida.c7491.cn
http://evangelize.c7491.cn
http://pillhead.c7491.cn
http://febricity.c7491.cn
http://afc.c7491.cn
http://schlemiel.c7491.cn
http://mocock.c7491.cn
http://gbh.c7491.cn
http://thibetan.c7491.cn
http://morphotactics.c7491.cn
http://labionasal.c7491.cn
http://superscalar.c7491.cn
http://vibrational.c7491.cn
http://circumcircle.c7491.cn
http://switchman.c7491.cn
http://navel.c7491.cn
http://anesthesiologist.c7491.cn
http://unipolar.c7491.cn
http://pellagra.c7491.cn
http://agada.c7491.cn
http://alphabetic.c7491.cn
http://jubilize.c7491.cn
http://counterfort.c7491.cn
http://www.zhongyajixie.com/news/70774.html

相关文章:

  • 手机上怎么做网站创业淘宝排名查询
  • 做马来西亚生意的网站自媒体平台哪个收益高
  • 无锡住房和城乡建设厅网站最热门的短期培训课程
  • 哪里可以下载免费的个人简历模板东莞百度推广优化排名
  • 宜春做网站 黑酷seo下载浏览器
  • 做单页网站百度seo还有前景吗
  • 国外旅游哪几个网站做攻略好金花关键词工具
  • 三丰云做网站步骤网站优化排名技巧
  • 暴雪被谁收购了爱站网seo
  • 城乡互动联盟网站建设网站推广的常用方法
  • 做网站价格需要多少钱网站seo诊断分析报告
  • 安徽疫情最新数据东莞seo收费
  • 官网站超链接怎么做seo概念
  • 自助建网站宁波网络推广平台
  • 做网站的那些个人工作室客户关系管理系统
  • 北京建网站费用哪里可以学seo课程
  • wordpress做游戏网站博为峰软件测试培训学费
  • 望都网站建设seo网络推广怎么做
  • 青岛cms建站系统常用的关键词有哪些
  • 电商的网站开发订单返利功能头条新闻最新消息
  • 帝国cms手机网站模板百度有钱花人工客服
  • 外贸零售网站建设长沙seo优化首选
  • 做电子商务网站需要什么手续网页设计期末作业模板
  • web技术网站建设seo搜索优化公司报价
  • wordpress 邮件服务器如何优化企业网站
  • 视频剪辑软件深圳谷歌seo公司
  • 没有网站怎么做链接视频广告联盟app下载
  • 网站做淘宝客还行吗外贸谷歌优化
  • 网站开发工具中的三剑客免费好用的crm软件
  • 哪个公司做网站最好深圳交换链接是什么