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

设计模式之python版(五)--工厂方法

2012-05-10 13:22 344 查看
工厂方法

应用特性:需要生成的对象经常需要增改时,抽离出易变的内容并独立放置在一个类中

结构特性:一个工厂类分离成多个子工厂类,分别只做一件事

UML:

#!/usr/bin/env python
#encoding: utf-8

class factory_base:
def __init__(self):
pass

def create_method(self):
pass

class factory1(factory_base):
def __init__(self):
pass

def create_method(self):
return class1()

class factory2(factory_base):
def __init__(self):
pass

def create_method(self):
return class2()

class class_base:
def __init__(self):
pass

def do_something(self, something):
pass

class class1(class_base):
def __init__(self):
pass

def do_something(self, something):
print something

class class2(class_base):
def __init__(self):
pass

def do_something(self, something):
print something + ' WITH ' + something

if '__main__' == __name__:
factory1_obj = factory1()
factory2_obj = factory2()
class1_obj = factory1_obj.create_method()
class2_obj = factory2_obj.create_method()
class1_obj.do_something('something')
class2_obj.do_something('something')
print factory1_obj.__class__
print factory2_obj.__class__
print class1_obj.__class__
print class2_obj.__class__


结果:

something
something WITH something
__main__.factory1
__main__.factory2
__main__.class1
__main__.class2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: