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

外发加工网站源码下载全屋定制营销

外发加工网站源码下载,全屋定制营销,网站建设与管理适合女生学吗,网站绑定ftp设计模式—结构型模式之桥接模式 将抽象与实现解耦#xff0c;使两者都可以独立变化。 在现实生活中#xff0c;某些类具有两个或多个维度的变化#xff0c;如图形既可按形状分#xff0c;又可按颜色分。如何设计类似于 Photoshop 这样的软件#xff0c;能画不同形状和不…设计模式—结构型模式之桥接模式 将抽象与实现解耦使两者都可以独立变化。 在现实生活中某些类具有两个或多个维度的变化如图形既可按形状分又可按颜色分。如何设计类似于 Photoshop 这样的软件能画不同形状和不同颜色的图形呢如果用继承方式m 种形状和 n 种颜色的图形就有 m×n 种不但对应的子类很多而且扩展困难。不同颜色和字体的文字、不同品牌和功率的汽车。 桥接将继承转为关联降低类之间的耦合度减少代码量。 桥接Bridge模式包含以下主要角色 系统设计期间如果这个类里面的一些东西会扩展很多这个东西就应该分离出来抽象化Abstraction角色定义抽象类并包含一个对实现化对象的引用。扩展抽象化Refined Abstraction角色是抽象化角色的子类实现父类中的业务方法并通过组合关系调用实现化角色中的业务方法。实现化Implementor角色定义实现化角色的接口供扩展抽象化角色调用。具体实现化Concrete Implementor角色给出实现化角色接口的具体实现。 举例 如果我们有不同型号的手机每种型号的手机都有线下和线上两种销售渠道两种渠道的价格还不同。如果我们不使用设计模式我们就需要定义线上渠道的不同型号手机类、线下渠道的不同型号手机类如果我们再增加一个渠道又需要增加新的不同型号渠道手机类。我们能否把渠道分离出来呢这便引出了桥接模式。 渠道抽象类: /** * 抽象渠道类 */ public abstract class AbstarctChnnel {private String channel;private Integer price;public AbstarctChnnel(String channel, Integer price) {this.channel channel;this.price price;}String getChannelInfo(){return 渠道this.channel \t价格:this.price;} }线上渠道和线下渠道分别为: /*** 线上渠道*/ public class OnlineChannel extends AbstarctChnnel{public OnlineChannel(String channel, Integer price) {super(channel, price);} } /*** 线下渠道*/ public class OfflineChannel extends AbstarctChnnel{public OfflineChannel(String channel, Integer price) {super(channel, price);} }我们的抽象手机类如下 public abstract class AbstarctPhone {//桥接在此.....设计期间就得想好//【真正会引起此类变化的一个维度直接抽取出来通过组合的方式接起来】//桥接适配器 ...AbstarctChnnel chnnel;abstract String getPhone();public void setChnnel(AbstarctChnnel chnnel) {this.chnnel chnnel;} }手机类如下 public class BananaPhone extends AbstarctPhone{OverrideString getPhone() {return 香蕉手机:this.chnnel.getChannelInfo();} }测试类如下 public class BridgeTest {public static void main(String[] args) {BananaPhone phone new BananaPhone();phone.setChnnel(new OfflineChannel(线下渠道,10000));System.out.println(phone.getPhone() phone.getPhone());} }运行结果如下 如果我们再新增一个渠道只要再扩展出一个渠道类即可不需要新增手机类。 总结 我们需要把真正会引起此类变化的维度直接抽取出来通过组合的方式拼接起来。
http://www.yutouwan.com/news/25338/

相关文章:

  • 江苏省交通厅门户网站建设管理企业网站功能间联系
  • 全国知名网站wordpress开发api接口
  • 木屋网站建设网络优化有前途吗
  • html5企业网站厦门商城网站建设
  • 个人在国外网站做电商小程序软件开发
  • 海报设计网站官网做网站用虚拟主机还是用服务器
  • 网站1g空间多大想找可以在家做的手工活去什么网站
  • 网站找谁备案北京海淀建设部邮编
  • 重庆渝中区企业网站建设哪家好如何使用表格做网站
  • 网站模板可以自己做吗七牛云是干嘛的
  • 群晖wordpress站点地址山西建站
  • 网站在线优化工具物流网络化
  • 浙江手机网站建设怎么更改网站首页图片尺寸
  • 网站建设与维护课件注册网站法律风险
  • 天津网站建设找哪家北京装修公司加盟
  • 网站推广实施方案房屋装修效果图三室一厅
  • 手机网站价格win 2012 iis 默认网站
  • 2018新网站做外链建造师人才网
  • 无锡网站推广¥做下拉去118cr大连企业招聘网站
  • 网站设计论文结束语泗洪网站建设公司
  • 长沙优化科技有限公司电话公司排名seo
  • 阿里云认证网站建设题库网站建设自助建站企业
  • 网页设计网站开发培训网站技术可行性
  • 网站怎样添加百度地图网页打不开图片
  • 如何免费建立可以交流的网站卖主机 服务器的网站
  • 顶呱呱代理建设网站如何创建自己的卡网
  • 做网站用什么软件编辑北京市网络科技有限公司
  • 棋牌网站开发需要多少钱中国建筑网官网首页
  • 深圳做门户网站室内设计公司排名前十强及作品
  • 体育 网站建设询价函格式核工业南京建设集团有限公司