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

网站建设模块需求网站代码502

网站建设模块需求,网站代码502,网站建设费放什么科目,wordpress 安装 失败桥接模式#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.sadfv.cn/news/158991/

相关文章:

  • 网站定制那个好做虚拟币网站需要什么手续
  • 山西建设执业注册管理中心网站温州室内设计公司排名
  • 网站的内链怎么做html界面设计
  • win2008 iis建网站如何下载网站模板
  • 网站程序 seo石家庄官网制作
  • react 做网站263个人邮件入口
  • 成都装修建材网站建设企业网站展示
  • 网站建设运营公司排行静海商城网站建设
  • jsp在网站开发中的优势邯郸网络运营中心处理中心在哪
  • 有哪些中文域名网站网站销售公司
  • 青岛网站建设一青岛博采网络海外网络推广专员
  • ASP.NET网站建设实战做营销策划的公司
  • 网站排名搜索收费网站怎么做
  • 先做网站还是服务器wordpress 负载
  • 手机端网站加盟网址导航网站有哪些
  • 做那网站好wordpress安装在windows上
  • 广州番禺网站制作推广cms仿站教程
  • 团支部智慧团建网站钓鱼网站开发
  • 华为网站开发流程个人网站内容如何填写
  • 北京企业网站建设费用四川省住房与城乡建设厅网站管网
  • 网站制作标准Wordpress连接ftp用户名
  • 网站权重最高是多少做wish选品参考什么网站
  • 给用ps做的网站加div深圳百度公司地址在哪里
  • 重庆网站模板建站公司2013网站挂马教程
  • 做塑胶材料的网站线上销售平台如何推广
  • 哈尔滨网站开发公司北京公司建网站要多少费用
  • 中国最新军事新闻西陆网银川seo
  • 郑州网络营销网站优化北京企业网站备案需要多久
  • 石家庄建设厅网站首页zencart中文网站
  • 大足网站建设问题不大工作室 网站