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

企业网站建设流程介绍淄博网络运营公司

企业网站建设流程介绍,淄博网络运营公司,高端做网站价格,网站降权处理闻正言#xff0c;行正道#xff0c;左右前后皆正人 一#xff0c;定义 将抽象部分与实现部分分离#xff0c;使它们都可以独立地进行变化 二#xff0c;使用场景 从模式的定义中#xff0c;我们大致可以了解到#xff0c;这里的桥接的作用其实就是连接抽象部分与实现…闻正言行正道左右前后皆正人 一定义 将抽象部分与实现部分分离使它们都可以独立地进行变化 二使用场景 从模式的定义中我们大致可以了解到这里的桥接的作用其实就是连接抽象部分与实现部分但事实上任何多维度变化类或者说多个树状类之间的耦合都可以使用桥接模式来实现解耦。 如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性避免 在两个层次之间建立静态的继承联系可以通过桥接模式使它们在抽象层建立一个关联关系。 对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统也可以考虑使用桥接模式。 一个类存在两个独立变化的维度且这两个维度都需要进行扩展。 三角色介绍 1Abstraction 抽象部分 该类保持一个对实现部分对象的引用抽象部分中的方法需要调用实现部分的对象来实现该类一般为抽象类。 2RefinedAbstraction 优化的抽象部分 抽象部分的具体实现该类一般是对抽象部分的方法进行完善和扩展。 3Implementor 实现部分 可以为接口或抽象类其方法不一定要与抽象部分中的一致一般情况下是由实现部分提供基本的操作而抽象部分定义的则是基于实现部分这些基本操作的业务方法。 4ConcreteImplementor 实现部分的具体实现 完善 实现部分中方法定义的具体逻辑 5Client 客户端调用 四使用案例 假如我们的笔记本工厂有联想i5联想i7联想i9华硕i5华硕i7华硕i9这些类型的电脑生产。那么对于笔记本电脑来说实质上就两种变化联想和华硕、i5i7i9 那么我们就将品牌定义为抽象部分cpu型号定义为实现部分。因为它们是两个维度的变化当然也可以反过来定义。 首先定义实现部分生产不同的CPU public interface CPU {void makeCPU(); } 然后具体实现不同的CPU型号 public class I5cPU implements CPU{Overridepublic void makeCPU() {System.out.println(生产i5Cpu);} } public class I7Cpu implements CPU{Overridepublic void makeCPU() {System.out.println(生产i7Cpu);} } public class I9Cpu implements CPU{Overridepublic void makeCPU() {System.out.println(生产i9Cpu);} } 然后定义抽象部分持有实现部分CPU的引用 生产不同品牌的电脑 /*** 抽象部分 笔记本电脑* */ public abstract class NoteBook {protected CPU cpu;public NoteBook(CPU cpu) {this.cpu cpu;}/**** */public abstract void makeComputer();} 然后是RefinedAbstraction 优化的抽象部分实现不同品牌的电脑 public class LenovoNoteBook extends NoteBook{public LenovoNoteBook(CPU cpu) {super(cpu);}Overridepublic void makeComputer() {System.out.println(生产联想电脑);cpu.makeCPU();} } public class AsusNoteBook extends NoteBook{public AsusNoteBook(CPU cpu) {super(cpu);}Overridepublic void makeComputer() {System.out.println(生产华硕笔记本电脑);cpu.makeCPU();} } 最后是在client使用 I5cPU i5cPU new I5cPU(); I7Cpu i7Cpu new I7Cpu(); I9Cpu i9Cpu new I9Cpu(); //联想i5 LenovoNoteBook lenovoNoteBook1 new LenovoNoteBook(i5cPU); lenovoNoteBook1.makeComputer(); //联想i7 LenovoNoteBook lenovoNoteBook2 new LenovoNoteBook(i7Cpu); lenovoNoteBook2.makeComputer(); //联想i9 LenovoNoteBook lenovoNoteBook3 new LenovoNoteBook(i9Cpu); lenovoNoteBook3.makeComputer(); //华硕i5 AsusNoteBook asusNoteBook1 new AsusNoteBook(i5cPU); asusNoteBook1.makeComputer(); //华硕i7 AsusNoteBook asusNoteBook2 new AsusNoteBook(i7Cpu); asusNoteBook2.makeComputer(); //华硕i9 AsusNoteBook asusNoteBook3 new AsusNoteBook(i9Cpu); asusNoteBook3.makeComputer(); 输出结果: 如果 我们想再增加 一个惠普品牌的笔记本电脑那么只需要新建一个类 实现抽象部分即可 public class HPNoteBook extends NoteBook{public HPNoteBook(CPU cpu) {super(cpu);}Overridepublic void makeComputer() {System.out.println(生产惠普笔记本电脑);} } 在客户端使用 //惠普i5 HPNoteBook hpNoteBook1 new HPNoteBook(i5cPU); hpNoteBook1.makeComputer(); //惠普i7 HPNoteBook hpNoteBook2 new HPNoteBook(i7Cpu); hpNoteBook2.makeComputer(); //惠普i9 HPNoteBook hpNoteBook3 new HPNoteBook(i9Cpu); hpNoteBook3.makeComputer(); 同样的如果 我们要增加实现部分CPU型号比如要增加i3也是直接新建 类就可以。 五总结 桥接模式可以应用到许多开发中但是它应用的却不多一个很重要的原因是对于抽象与实现的分离把握是不是需要分离如何分离对设计者来说要有一个恰倒好处的分寸。不管怎么说桥接模式的优点我们毋庸置疑分离抽线与实现灵活的扩展以及对客户来说透明的实现等。但是使用桥接模式也有一个不明显的缺点上面我们也提到了就是不容易设计对开发者来说要有一定的经验要求因此对桥接模式应用来说理解很简单设计却不容易。 参考文献Android源码设计模式解析与实战
http://www.hkea.cn/news/14526034/

相关文章:

  • 小米盒子做网站美术网站建设方案
  • dede视频网站模板备案 网站负责人 法人
  • 给人做网站网站犯法嘛永久域名注册多少钱
  • 苏州营销型网站开发公司wordpress发布文章提示失败
  • 专业网站建设是哪家便宜wordpress实现圈子功能
  • 吉林省住房城乡建设厅网站苏州市建设局网站首页
  • 镇江网站关键字优化机构吐鲁番建设局网站
  • 公总号开发就是网站开发吗返利的网站怎么做
  • 江苏省网站备案查询网站开发 0755
  • 门户网站建设中标结果WordPress导航类主题主题
  • 信息技术做网站国外的电商网站有哪些方面
  • 视频网站软件有哪些免费域名怎么弄
  • 多国语言 网站源码如需手机网站建设
  • 网站流量查询平台少儿编程加盟品牌哪家好
  • 做网站空间多大安徽大学最近消息
  • 如何将自己做的网站上传以前在线做预算的网站
  • 酒店网站建设公司中国山东建设监理协会网站
  • 东莞横沥网站设计广告设计制作服务方案
  • dedecms导入网站模板下载html指什么
  • 银行收取网站建设费的会计科目ui设计软件sketch
  • jsp网站建设作业wordpress所有缩略图
  • 鞍钢节能公司网站开发wordpress hotnews pro 2.7plus
  • 做坏事网站百度推广竞价技巧
  • 广东建设执业资格注册中心网站网站建设素材包
  • 做网咖的网站建筑施工平台
  • 网站功能规划通州 网站建设
  • php 行业网站长沙口碑最好网站建设公司排行榜
  • 建设网站注意哪几点企业彩铃制作
  • 网站建设中的多语言翻译如何实现自己怎么制作一个网站
  • 文明网站建设工作进度表大型网站过程