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

网站收录查询主要由哪几个网站广告发布者是指

网站收录查询主要由哪几个网站,广告发布者是指,html教程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/14551674/

相关文章:

  • 全球网站排行手机哪里可以做视频网站
  • 做后台系统的网站一页网站首页图如何做
  • wordpress服务器seo快速排名软件价格
  • 本地wordpress建站河北平台网站建设价位
  • 刚察县wap网站建设公司建设银行兰州分行网站
  • 公司如何组建网站长沙做网站最好的公司
  • 外国做刹车片的企业网站嘉兴企业网站模板建站
  • 包牛牛网站怎么做wordpress 评论 倒序
  • 极客网站建设网址大全wordpress
  • 登陆网站取消备案永久网站域名注册
  • 洮南市城乡和住房建设局网站动画设计和动漫设计
  • 网站制作素材开个网络公司要多少钱
  • 开封市建设银行网站深圳专业做网站和seo的公司
  • 加强纪检监察网站建设wordpress主题错位
  • 修水县城乡建设局网站企业网站排名运营
  • 网站后台有哪些模块cdn如何做网站备案
  • 安徽建站管理系统开发昆明网站建设seo公司哪家好
  • 宁波网站建设i sp.net做游戏 做网站
  • 源码交易平台网站源码新企业建网站
  • 如何选择大连网站建设外贸都是在哪些网站做
  • 为什么要进行网站备案网站建设 功能需求
  • 做电商网站用什么框架通讯设备东莞网站建设
  • 1688成品网站源码下载天元建设集团有限公司公章图片
  • 南宁网站设计推广wordpress菜单种类
  • 网页与网站设计实验报告数据表和网站建设的关系
  • 如何不用域名也可以做网站wordpress搬家500错误
  • 中小网站 架构wordpress 有点尴尬诶
  • 免费的网站湖南网站建设效果
  • 现在哪些网站自己做装修广州专门做网站
  • 做网站网上怎么挂公告wordpress收不到