前言

主要内容

  • 介绍桥梁模式
  • 介绍桥梁模式的通用类图及通用代码

正文

介绍

桥梁模式(Bridge Pattern) 也叫做桥接模式, 是一个比较简单的模式, 其定义如下: Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦, 使得两者可以独立地变化。 ) -设计模式之禅第2版

使用聚合代替继承来降低类之间的耦合度

通用类图及通用代码

通用类图

桥梁模式 - 图1

父类角色

  1. package cn.zjm404.stu.design.bridge;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Getter;
  4. /**
  5. * @author ZJM
  6. */
  7. @AllArgsConstructor
  8. @Getter
  9. public abstract class AbstractAClass {
  10. private IExtendsClass iExtendsClass;
  11. public void method(){
  12. iExtendsClass.method();
  13. }
  14. }
  1. package cn.zjm404.stu.design.bridge;
  2. public class ConcreteAClass extends AbstractAClass{
  3. public ConcreteAClass(IExtendsClass iExtendsClass) {
  4. super(iExtendsClass);
  5. }
  6. @Override
  7. public void method() {
  8. //...
  9. }
  10. }

子类角色

  1. package cn.zjm404.stu.design.bridge;
  2. public interface IExtendsClass {
  3. public void method ();
  4. }
  1. package cn.zjm404.stu.design.bridge;
  2. public class ConcreteExtendsClass implements IExtendsClass {
  3. @Override
  4. public void method() {
  5. //...
  6. }
  7. }

使用

  1. package cn.zjm404.stu.design.bridge;
  2. public class Client {
  3. public static void main(String[] args) {
  4. IExtendsClass iExtendsClass = new ConcreteExtendsClass();
  5. AbstractAClass abstractAClass = new ConcreteAClass(iExtendsClass);
  6. abstractAClass.method();
  7. }
  8. }

参考

设计模式之禅第2版