设计模式一 简单工厂

本文介绍了一个简单的工厂模式实现案例,通过定义不同的子类来响应不同的事件,并利用工厂方法选择合适的子类实例。文章展示了如何使用Python实现这一模式,并提供了一个包含a事件和b事件处理逻辑的具体例子。
 1 # -*- coding:utf-8 -*-
 2 
 3 
 4 class Main():
 5     slot = None
 6 
 7     def __init__(self):
 8         pass
 9 
10     def triggerEvent(self,slot):
11         pass
12 
13     def endup(sef):
14        pass
15 
16     def run(self):
17        pass
18 
19     #槽函数,在triggerEvent中调用
20     @pyqtSlot()
21     def handleCard():
22        pass
23         
24         
25 
26 class ChildMain1(main):
27     slot = None
28 
29     def __init__(self):
30         pass
31 
32     def triggerEvent(self,slot):
33         self.slot = slot
34         ......
35         #a事件 业务逻辑
36         ......
37         return self.slot
38         print "a事件业务逻辑已完成"
39 
40     def endup(sef):
41         #结束流程
42 
43     def run(self):
44         while True:
45             pass
46             if True:
47                 pass
48         print "a流程完成"
49 
50     #槽函数,在triggerEvent中调用
51     @pyqtSlot()
52     def handleCard():
53         'a event triggered.'
54         
55 class ChildMain2(Main):
56     slot = None
57 
58     def __init__(self):
59         pass
60 
61     def triggerEvent(self,slot):
62         self.slot = slot
63         ......
64         #b事件 业务逻辑
65         ......
66         return self.slot
67         print "业务逻辑已完成"
68 
69     def endup(sef):
70         #b事件结束流程
71 
72     def run(self):
73         while True:
74             pass
75             if True:
76                 pass
77         print "b流程完成"
78 
79     #槽函数,在triggerEvent中调用
80     @pyqtSlot()
81     def handleCard():
82         'b event triggered.'
83         
84 class RunMain():
85     def run(self, topic):
86         dic = {
87         "a":ChildMain1,
88         "b":ChildMain2
89         }
90         if dic.has_key(topic):
91             di = dic[topic]()
92             return 
93 
94  

   简单工厂就是在执行的时候中再去判断如何执行和执行什么这个问题。

转载于:https://www.cnblogs.com/guowei00139/p/5552809.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值