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

制作一个网站大概要多少钱建筑智能化工程技术

制作一个网站大概要多少钱,建筑智能化工程技术,wordpress 单栏模板,北京app软件开发公司桥接模式#xff08;Bridge Pattern#xff09;属于结构型模式 概述 桥接模式是将抽象部分与它的实现部分分离#xff0c;使它们都可以独立地变化。它是一种对象结构型模式#xff0c;又称为柄体#xff08;Handle and Body#xff09;模式或接口#xff08;InterfaceBridge Pattern属于结构型模式 概述 桥接模式是将抽象部分与它的实现部分分离使它们都可以独立地变化。它是一种对象结构型模式又称为柄体Handle and Body模式或接口Interface模式。 比如需要创建电脑对象市面上的电脑非常多品牌有华为、苹果、联想等等类型有台式、笔记本、平板等等。如果给每个品牌的每个类型的电脑都创建一个对象那是十分繁琐的而且非常不方便扩展。试想如果增加了一个品牌或者类型那就需要增加大量的对象这无疑是笨重和低效的。 这时我们会想如果给品牌和类型分别设置一个维度再将这两个维度组合起来就得到了一个对象这样只需要定义所有的品牌和所有的类型即可如果需要增加只需要增加一个品牌或者类型即可。 代码实现 下面以华为和苹果作为品牌台式和笔记本作为类型示例桥接模式的实现 1、定义品牌 /*** 品牌*/ public interface Brand {/*** 名称*/String name();}2、定义电脑 /*** 电脑*/ public abstract class Computer {/*** 品牌* p因为需要提供继承类使用这里定义为 protected*/protected Brand brand;public Computer(Brand brand) {this.brand brand;}/*** 获取电脑名称留给子类实现*/public abstract String name(); }3、定义具体品牌 /*** 华为*/ public class HuaWei implements Brand {Overridepublic String name() {return 华为;} }/*** 苹果*/ public class Apple implements Brand {Overridepublic String name() {return 苹果;} }4、定义类型 /*** 台式*/ public class Desktop extends Computer {public Desktop(Brand brand) {super(brand);}Overridepublic String name() {return super.brand.name() 台式;} }/*** 笔记本*/ public class Laptop extends Computer {public Laptop(Brand brand) {super(brand);}Overridepublic String name() {return super.brand.name() 笔记本;} }5、调用 // 苹果笔记本 Computer computer new Laptop(new Apple()); System.out.println(computer.name());// 华为台式机 Computer computer1 new Desktop(new HuaWei()); System.out.println(computer1.name());输出结果为 苹果笔记本 华为台式这样就实现了品牌和类型的桥接。这样需要增加一个品牌时只需要增加一个类实现 Brand 接口即可需要增加一个类型时只需要增加一个类继承 Computer 类即可。 优缺点 优点 1、桥接模式偶尔类似于多继承方案但是多继承方案违背了类的单一职责原则复用性比较差类的个数也比较多桥接模式是比多继承方案更好的解决方法。极大的减少了子类的个数从而降低管理和维护的成本。 2、桥接模式提高了系统的可扩充性在两个变化维度中任意扩展一个维度都不需要修改原有系统。符合开闭原则就像一座桥可以把两个变化的维度连接起来。 3、 抽象和实现的分离。 4、优秀的扩展能力。 5、实现细节对客户透明。 缺点 1、桥接模式的引入会增加系统的理解与设计难度由于聚合关联关系建立在抽象层要求开发者针对抽象进行设计与编程。 2、桥接模式要求正确识别出系统中两个独立变化的维度因此其使用范围具有一定的局限性。 使用场景 1、如果一个系统需要在构建的抽象角色和具体角色之间增加更多的灵活性避免在两个层次之间建立静态的继承联系通过桥接模式可以使它们在抽象层建立一个关联关系。抽象角色和具体角色可以以继承的方式独立扩展而互不影响在程序运行时可以动态将一个抽象子类的对象和一个具体类的对象进行组合即系统需要对抽象角色和具体角色进行动态耦合。 2、一个类存在两个独立变化的维度且这两个维度都需要进行扩展。 3、虽然在系统中使用继承是没有问题的但是由于抽象角色和具体角色需要独立变化设计要求需要独立管理这两者。对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统桥接模式尤为适用。 4、Java 语言通过 Java 虚拟机与操作系统的桥接实现了平台的无关性。 5、AWT 中的 Peer 架构。 6、JDBC 驱动程序。 注意事项 对于两个独立变化的维度使用桥接模式再适合不过了。 参考 https://www.bilibili.com/video/BV1mc411h719?p8vd_source299f4bc123b19e7d6f66fefd8f124a03
http://www.eeditor.cn/news/121582/

相关文章:

  • 网站侧面菜单展开怎么做房地产网站做编辑刚刚入行
  • 现在网站做多宽的百度推广登录首页
  • 网站空间要多大国内做网站需要做icp备案吗
  • 哪些网站可以做招生信息网站 注册模块怎么做
  • 镇江网站设计建设软件开发工具自考
  • 网站的规划 建设与分析论文网站建设品牌
  • 电子商务网站建设心得河南搜索引擎推广多少钱
  • 泰安网络推广联系昔年下拉昆明优化公司
  • 网站前端制作费用北京网站托管
  • 郑州网站优化软件推广赚钱网
  • html5网站建设源码单页面销售信网站赚钱系统
  • 网站备案得多长时间河北建设工程网站
  • 网站做直播需要资质吗高端品牌网站建设有哪些注意事项
  • 专用主机方式建设网站如何创立自己的网址
  • 酒泉市城乡建设局网站网站欢迎页设计
  • 布吉医院网站建设做网站书
  • 商城网站建设的注意事项网页首页设计模板免费
  • 网站建设 培训离石市网站建设公司
  • 网站上的销售怎么做网站开发说明
  • 平台和自建网站服务提供者网上购物哪个商城好
  • qq官方网站搜索引擎优化工具
  • 网站技术说明书模板摄影设计师招聘
  • 昆明建设银行纪念币预约网站有关于网站建设的参考文献
  • 嘉兴中元建设网站怎样制作免费网页
  • 做app 的模板下载网站有哪些樱花动漫imomoe官网入口
  • 做网站什么语言最好创新logo标志设计
  • 网站定制公司哪家最权威pc网站制作公司
  • 宽带固定ip的怎么做网站服务器如何做响应式网站视频教程
  • 有网站了小程序怎么做phpcms 网站根目录
  • o2o网站建设方案wordpress主题开拓右边栏