标签:个人 透明 compute 模块 inf 结果 模式 rand alt
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响
核心:
优点:
缺点:
使用场景:
注意事项:1、针对不同维度的变化,桥接模式比较合适
public interface Brand { void sale(); }
public class Ausu implements Brand{ @Override public void sale() { System.out.println( "华硕品牌"); } } public class Lenovo implements Brand{ @Override public void sale() { System.out.println("联想品牌"); } }
public abstract class Computer { protected Brand brand;//protected 当前类、同一包、子孙类可见 聚合另一维度的元素 public Computer(Brand brand) { this.brand = brand; } public abstract void sale(); }
public class Laptop extends Computer{ public Laptop(Brand brand) { super(brand); } @Override public void sale() { brand.sale(); System.out.println("销售笔记本"); } } public class Destop extends Computer { public Destop(Brand brand) { super(brand); } @Override public void sale() { brand.sale(); System.out.println("销售台式机"); } }
public class BridgeDemo01 { public static void main(String[] args) { Computer c1 = new Destop(new Lenovo()); c1.sale(); System.out.println("--------------------------------------"); Computer c2 = new Laptop(new Ausu()); c2.sale(); // System.out.println("--------------------------------------"); // Computer c3 = new Laptop(new Dell()); // c3.sale(); }
标签:个人 透明 compute 模块 inf 结果 模式 rand alt
原文地址:https://www.cnblogs.com/vincentYw/p/12609624.html