首页 > 代码库 > 工厂方法模式
工厂方法模式
模式说明
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法模式让实例化推迟到子类。
和简单工厂区别在于,每个工厂只管生产自己对应的产品,而简单工厂是一个工厂生产各种产品。
模式结构图
程序示例
说明:
一个日志类,两个派生类(文件日志和事件日志);一个日志工厂类(返回日志类),两个派生类(分别生产文件日志类和事件日志类)
代码:
1 class log(object): 2 def write(self): 3 pass 4 5 class eventLog(log): 6 def write(self): 7 print ‘eventLog‘ 8 9 class fileLog(log):10 def write(self):11 print ‘fileLog‘12 13 class logFactory(object):14 def create(self):15 return log()16 17 class eventLogFactory(logFactory):18 def create(self):19 return eventLog()20 21 class fileLogFactory(logFactory):22 def create(self):23 return fileLog()24 25 if __name__==‘__main__‘:26 factory = fileLogFactory()27 log = factory.create()28 log.write()29 30 factory = eventLogFactory()31 log = factory.create()32 log.write()
运行结果:
参考来源:
http://www.cnblogs.com/chenssy/p/3679190.html
http://www.cnblogs.com/wuyuegb2312/archive/2013/04/09/3008320.html
http://www.cnblogs.com/Terrylee/archive/2006/07/17/334911.html
工厂方法模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。