设计模式之组合模式

本文深入探讨了设计模式中的组合模式,并以其在Python编程中的应用为例,阐述了如何利用这种模式实现部分与整体的无缝操作,提高代码的可读性和可维护性。
摘要由CSDN通过智能技术生成
组合(Composite Pattern)模式的定义:    
        有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用
来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式
组合模式的优缺点如下:
优点: 
1.组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的   是单个对象,
还是组合对象,这简化了客户端代码 
2.更容易在组合体内加入新的对象,客户端不会因为加入了新的对象而更改源代码,满   足“开闭原
则”
缺点:
1.设计较复杂,客户端需要花更多时间理清类之间的层次关系 
2.不容易限制容器中的构件 
3.不容易用继承的方法来增加构件的新功能
# 组合模式的实现class Store(object):
    '''店面基类'''
    #添加店面
    def add(self,store):
        pass
    #删除店面
    def remove(self,store):
        pass
    def pay_by_card(self):
        pass
class BranchStore(Store):
    def __init__(self,name):
        self.name = name
        self.my_store_list = []

    def pay_by_card(self):
        print("店面[%s]的积分已累加进该会员卡" %self.name)
        for s in self.my_store_list:
            s.pay_by_card()

    #添加店面
    def add(s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值