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

英文网站cmswordpress wp-cumulus

英文网站cms,wordpress wp-cumulus,珠海哪里有网站建设,物流行业网站建设核心思想 桥接模式#xff08;Bridge Pattern#xff09;是一种结构型设计模式#xff0c;将抽象部分与其实现部分分离#xff0c;使它们可以独立变化。降低代码耦合度#xff0c;避免类爆炸#xff0c;提高代码的可扩展性。 结构 1. Implementation#xff08;实现类…核心思想 桥接模式Bridge Pattern是一种结构型设计模式将抽象部分与其实现部分分离使它们可以独立变化。降低代码耦合度避免类爆炸提高代码的可扩展性。 结构 1. Implementation实现类接口 定义具体实现的行为接口。 2. ConcreteImplementations具体实现类 具体的实现类实现 Implementation 接口。 3. Abstraction抽象类 定义高层逻辑组合 Implementation实现类接口对象。 4. RefinedAbstraction精确抽象类 Abstraction 的子类实现父类的业务方法并通过组合关系调用实现化角色中的业务方法。 适用场景 如果你希望在几个独立维度上扩展一个类 可使用该模式。 桥接建议将每个维度抽取为独立的类层次。 初始类将相关工作委派给属于对应类层次的对象 无需自己完成所有工作。 希望将实现细节对外隐藏。如果你想要拆分或重组一个具有多重功能的庞杂类 例如能与多个数据库服务器进行交互的类 可以使用桥接模式避免继承层次过于庞大导致类爆炸。 桥接模式可以将庞杂类拆分为几个类层次结构。 此后 你可以修改任意一个类层次结构而不会影响到其他类层次结构。 这种方法可以简化代码的维护工作 并将修改已有代码的风险降到最低。 如果你需要在运行时切换不同实现方法 可使用桥接模式。 桥接模式可替换抽象部分中的实现对象 具体操作就和给成员变量赋新值一样简单。 优缺点 优点 高扩展性你可以创建与平台无关的类和程序。隐藏实现细节客户端代码仅与高层抽象部分进行互动 不会接触到平台的详细信息。遵循开闭原则 你可以新增抽象部分和实现部分 且它们之间不会相互影响。符合单一职责原则 抽象部分专注于处理高层逻辑 实现部分处理平台细节。 缺点 对高内聚的类使用该模式可能会让代码更加复杂。 实现步骤 明确类中独立的维度。 独立的概念可能是 抽象/平台 域/基础设施 前端/后端或接口/实现。了解客户端的业务需求 并在抽象基类中定义它们。确定在所有平台上都可执行的业务。 并在通用实现接口中声明抽象部分所需的业务。为你域内的所有平台创建实现类 但需确保它们遵循实现部分的接口。在抽象类中添加指向实现类型的引用成员变量。 抽象部分会将大部分工作委派给该成员变量所指向的实现对象。如果你的高层逻辑有多个变体 则可通过扩展抽象基类为每个变体创建一个精确抽象。客户端代码必须将实现对象传递给抽象部分的构造函数才能使其能够相互关联。 此后 客户端只需与抽象对象进行交互 无需和实现对象打交道。 示例 // 实现类接口 public interface VideoFile {void decode(String fileName); }// 具体实现类——AVI格式 public class AVIFile implements VideoFile{Overridepublic void decode(String fileName) {System.out.println(AVI格式文件 fileName);} }// 具体实现类——RMVB格式 public class RMVBFile implements VideoFile{Overridepublic void decode(String fileName) {System.out.println(RMVB格式文件 fileName);} }// 抽象类 public abstract class OperatingSystem {// 保证子类可以访问而外部类不能访问提高封装性// 不用private是因为避免子类使用时要用getter/setterprotected VideoFile videoFile;public OperatingSystem(VideoFile videoFile) {this.videoFile videoFile;}public abstract void play(String fileName); }// 扩展抽象类——Windows public class Windows extends OperatingSystem{public Windows(VideoFile videoFile) {super(videoFile);}Overridepublic void play(String fileName) {videoFile.decode(fileName);} }// 扩展抽象类——Mac public class Mac extends OperatingSystem{public Mac(VideoFile videoFile) {super(videoFile);}Overridepublic void play(String fileName) {videoFile.decode(fileName);} }// 客户端 public class Client {public static void main(String[] args) {VideoFile videoFile new AVIFile();OperatingSystem operatingSystem new Windows(videoFile);operatingSystem.play(test.avi);System.out.println(-----------------------------------------);videoFile new RMVBFile();operatingSystem new Mac(videoFile);operatingSystem.play(test.rmvb);} } 与其他模式的关系 桥接模式通常会于开发前期进行设计 使你能够将程序的各个部分独立开来以便开发。 另一方面 适配器模式通常在已有程序中使用 让相互不兼容的类能很好地合作。桥接、 状态模式和策略模式 在某种程度上包括适配器 模式的接口非常相似。 实际上 它们都基于组合模式——即将工作委派给其他对象 不过也各自解决了不同的问题。 模式并不只是以特定方式组织代码的配方 你还可以使用它们来和其他开发者讨论模式所解决的问题。你可以将抽象工厂模式和桥接搭配使用。 如果由桥接定义的抽象只能与特定实现合作 这一模式搭配就非常有用。 在这种情况下 抽象工厂可以对这些关系进行封装 并且对客户端代码隐藏其复杂性。你可以结合使用生成器模式和桥接模式 主管类负责抽象工作 各种不同的生成器负责实现工作。
http://www.hkea.cn/news/14363711/

相关文章:

  • 网站建设seo优化内蒙微信上怎么做网站链接
  • 网站建设 有道翻译世界卫生健康论坛
  • 镇江网站优化推广青海西宁网站建设公司
  • 网站建设高手要学多久蚌埠做网站的公司
  • 和外国人做古玩生意的网站婚庆网站建设
  • 建设网站公司兴田德润在哪里上海在建工程查询
  • 霍山网站建设网站分为哪几种类型
  • 微信网站页面设计网站进度条特效
  • 自己怎么手机做网站唐山网站建设价格
  • 快彩网站开发国外网站不需要备案吗
  • 岳阳网站设计改版如何用网站做淘客
  • 无锡建设信息中心网站centos yum wordpress
  • 广州seo网站服务公司汇赢网站建设
  • 电子商务网站建设以什么为核心网站设计公司网页设计
  • 网站编程工具wordpress与drupal对比
  • 免费建一级域名网站石景山保安公司
  • 万荣做网站小微企业所得税优惠政策
  • 长春网站优化策略.net网站开发 平台
  • 邢台做网站的价格究竟多少钱?网站建设大作业电子版
  • 寻找合肥网站建设做放单主持的网站
  • 柳市网站外贸公司取名
  • 北京企业网站建设哪家服务好深圳网络营销全网推广
  • 7个免费的ui素材网站公司营业执照可以做几个网站
  • 深圳全网营销网站建设永州网络推广
  • 株洲 网站建设怎么样自己做最简单的网站
  • 小型营销企业网站建设策划技术服务外包公司
  • 奉贤青岛网站建设网站开发的一次性收益
  • 网站建设主要考虑哪些因素软件推荐网站
  • 网站导航栏效果找个可以直接观看的网站
  • 通州企业网站建设现在还有做静态网站的