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

可以注册邮箱的网站开封建设网站

可以注册邮箱的网站,开封建设网站,给网站做h5缓存机制,电子商务网站建设完整案例教程s2sh pdf下载桥接模式#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.hkea.cn/news/14291131/

相关文章:

  • 济宁培训网站建设企业网站制作前期需要什么资料
  • 哪个网站推广比较好宣传片拍摄报价明细
  • 方太网站谁做的远程教育网站建设方案
  • 山东天成水利建设 网站自己怎么制作网站
  • 西安手机网站开发精品课程网站开发项目
  • 什么什么设计英文网站站长工具收录查询
  • 濮阳做网站的专业型企业网站有哪些
  • 做网站时 404网页如何指向深圳关键词推广
  • 大型网站建设推广名校建设专题网站
  • 如何做网站焦点图佛山网站建设网站
  • 避免网站侵权注册1000万公司每年费用多少
  • 记事本做网站怎么调整图片间距写软文的app
  • 郑州网站设计 公司网站网站开发软件
  • 网上做家教哪个网站微信开发公众平台
  • 东莞网站制作方案定制外贸假发网站
  • 青岛建设网站企业淘宝客不建网站怎样做
  • 网区建站产品设计工程师
  • 电子商务网站建设报告分析vi平面设计公司
  • 网站建设与管理 教学视频开封市建设银行网站
  • 德宏做网站wordpress3.8.1下载
  • 小型网站建设价格长沙做网站建设的
  • 互联网网站建设一条龙服务wordpress调用用户名密码
  • 建设工程规划许可证网站国外网站怎么上
  • 以前做视频的网站吗淘宝上面如何做网站
  • 宝安做棋牌网站建设找哪家公司好自己做的网站收费
  • phpcms 网站根目录三里河网站建设
  • 请人制作一个网站需要多少钱jquery插件网站推荐
  • 二七郑州网站建设环卫公厕建设门户网站访谈
  • 怎样知道哪个网站做推广好seo工作是什么意思
  • 免费图片素材网站有哪些西安做网站选哪家