桥接模式与组合模式,
本文主要介绍Python设计模式中的结构化BridgePattern,即bridge pattern,它将抽象部分与其实现部分分离,使它们都可以独立变化。我们来看看文章的详细介绍。
00-1010一、桥接模式二。应用场景三。代码示例
目录
桥模式,希望把一个事物的两个维度分开(解耦),让它们都可以独立变化,通过一个桥连接起来。
(类)抽象部分(Abstraction):s许多实体之间常见的概念联系是抽象。抽象作为一个过程,就是忽略一些信息,把不同的实体同等对待。(对象)实体部分(Implementation):s抽象给出的具体实现就是实现。简而言之,桥接模式是指在一个软件系统的抽象和实现之间,用组合/聚合关系代替继承关系,使两者可以相对独立地变化。桥接模式的核心思想是将抽象类的相关参数和方法封装为桥接类的属性,这样在实例化桥接类的对象后,通过修改桥接类的属性就可以实现抽象和实现之间的独立变化。
优点:
抽象角色与实现角色分离,它们可以独立设计,不受约束;扩展性强,抽象角色和实现角色可以非常灵活的扩展。缺点:
增加理解系统的难度。
一、桥接模式
二、应用场景
实现角色:
抽象细化抽象实现者具体实现者)导入abc
#摘要
移动类(元类=abc。ABCMeta):
def __init__(self,cover):
self.cover=封面
@abc.abstractmethod
定义购买(自己):
及格
#实施者
类覆盖(元类=abc。ABCMeta):
@abc.abstractmethod
定义put(self):
及格
#提炼抽象
小米类(手机):
定义购买(自己):
self.cover.put(自己)
#提炼抽象
华为(移动):类
定义购买(自己):
self.cover.put(自己)
#提炼抽象
类别Iphone(移动):
定义购买(自己):
self.cover.put(自己)
#具体实施者
等级黄色封面(封面):
def put(自身,移动):
用{ mobile }打印(f’。__class__。{self的“__name__}”。_ _ class _ _ _ _ _ name _ _})
#具体实施者
红色封面(封面):级
def put(自身,移动):
用{ mobile }打印(f’。__class__。{self的“__name__}”。_ _ class _ _ _ _ _ name _ _})
#具体实施者
类别绿色封面(封面):
def put(自身,移动):
用{ mobile }打印(f’。__class__。{self的“__name__}”。_ _ class _ _ _ _ _ name _ _})
if __name__==__main__:
red_xiaomi=Xiaomi(RedCover())
red_xiaomi.buy()
green_huawei=华为(GreenCover())
green_huawei.buy()
red_huawei=华为(RedCover())
red_huawei.buy()
黄色_iphone=Iphone(YellowCover())
yellow_iphone.buy()
这就是关于Python设计模式中的结构桥接模式的文章。关于Python桥接模式的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。