[一天一个设计模式]-[桥接模式]

[一天一个设计模式]-[桥接模式]桥接模式和适配器模式很像 桥接模式和适配器模式用于设计的不同阶段 桥接模式用于系统的初步设计 对于存在两个独立变化维度的类可以将其分为抽象化和实现化两个角色 使它们可以分别进行变化 而在初步设计完成之后 当发现系统与已有类无法协同工作时 可以采用适配器模式

大家好,我是讯享网,很高兴认识大家。

桥接模式和适配器模式很像,桥接模式和适配器模式用于设计的不同阶段,桥接模式用于系统的初步设计,对于存在两个独立变化维度的类可以将其分为抽象化和实现化两个角色,使它们可以分别进行变化;而在初步设计完成之后,当发现系统与已有类无法协同工作时,可以采用适配器模式。但有时候在设计初期也需要考虑适配器模式,特别是那些涉及到大量第三方应用接口的情况。

适配器模式是把一个调用者不能用的类转换成调用者可以用的类,桥接模式是在设计的时候就把两个都是有多实现的对象组合在一起。


讯享网

举个栗子,各个品牌的电脑可以用各个品牌的显示器。

public interface Display{ 
    void show(); } 

讯享网
讯享网public class HPDisplay implements Display{ 
    @Override public void show(){ 
    sout("I'm HPDisplay."); } } 
public class AOCDisplay implements Display{ 
    @Override public void show(){ 
    sout("I'm AOCDisplay."); } } 
讯享网public abstract class PC{ 
    Display display; public setPc(Display display){ 
    this.display = display; } public abstract void run(); } 
public LenovoPC extend PC{ 
    @Override public void run(){ 
    sout("I'm LenovoPC."); super.display.show(); } } 
讯享网public AsusPC extend PC{ 
    @Override public void run(){ 
    sout("I'm AsusPC."); super.display.show(); } } 
main(){ 
    Display hp = new HPDisplay(); Display aoc = new AOCDisplay(); //联想主机用两种显示器 PC lenovoHp = new LenovoPC(hp); PC lenovoAoc = new LenovoPC(aoc); } 
小讯
上一篇 2025-02-28 08:25
下一篇 2025-04-07 16:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/121731.html