设计模式四(装饰模式,采用python 实现)

 

装饰模式原理请随便找书看一下,这里直接给例子:

生产一把刀需要两个工序,工序一和工序二

 

Process:生产

Component:原料(生产刀具的原材料是棒料 bar)

Procedure:生产刀具工序

FirstProcedure:工序一

SecondProcedure:工序二

from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from future_builtins import *
import sys


class Process(object):

    def __init__(self):
        super(Process,self).__init__()
        pass
    def make(self):
        pass
    
class Component(Process):
    def __init__(self):
        super(Component,self).__init__()
        pass
    def make(self):
        print("bar")
        pass
    pass

        
        
class Procedure(Process):
    component=Process()
    def __init__(self,comp):
        super(Procedure,self).__init__()
        self.component=comp
        
        pass
    def make(self):
        print('procedure')
        pass
    pass


class FirstProcedure(Procedure):
    def __init__(self,component):
        super(FirstProcedure,self).__init__(component)
        pass
    def make(self):
        self.component.make()
        print('firs procedure')
        pass
    pass

        
        
class SecondProcedure(Procedure):
    def __init__(self,component):
        super(SecondProcedure,self).__init__(component)
        pass
    def make(self):
        self.component.make()
        print('second procedure')
        pass
    pass 

 

#客户端

if(__name__=="__main__"):
    component=Component()
    
    first=FirstProcedure(component)
    second=SecondProcedure(first)
    
    second.make()


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值