您的位置:首页 > 编程语言 > Python开发

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

2012-12-09 13:16 696 查看
装饰模式原理请随便找书看一下,这里直接给例子:

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




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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: