gpt4 book ai didi

c++ - 桥接模式与装饰器模式

转载 作者:可可西里 更新时间:2023-11-01 17:03:56 34 4
gpt4 key购买 nike

任何人都可以为我详细说明 Bridge 设计模式和 Decorator 模式。我发现它在某些方面很相似。不知道怎么区分?

我的理解是,在Bridge中,实现与接口(interface)分离,一般只能应用一个实现。 Decorator 是一种包装器,你可以包装尽可能多的东西。

例如,

桥梁模式

class Cellphone {
private:
Impl* m_OS; // a cellphone can have different OS

}

装饰器模式

class Shirt {
private:
Person * m_p; //put a shirt on the person;

}

最佳答案

Decorator 应该与您正在装饰的对象的界面相匹配。也就是说,它具有相同的方法,并允许在进入途中拦截参数,并在出路时拦截结果。您可以使用它为装饰对象提供额外的行为,同时保持相同的接口(interface)/契约。请注意,装饰器的接口(interface)可以提供附加功能来创建更有用的对象。

Bridge 没有这样的限制。面向客户端的界面可能不同于提供实现的底层组件,因此它在客户端界面和实际实现(可能对客户端不友好,可能会发生变化等)之间架起桥梁。 )

关于c++ - 桥接模式与装饰器模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254536/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com