python-简单工厂模式

2016-05-24  本文已影响276人  KillerManA

今天我们来编写一个加减乘除的计算器,其中我们运用简单工厂模式,首先我们来分析一下这个需求,一提到计算器,无非就有一个运算,还有两个数,最后就是显示在屏幕上,在这里我们首先要做的就是显示和业务逻辑分离,即前面的运算和数跟最后的显示要分开,降低前后的耦合度,再次,仔细想想这两个数和运算符也可以分离开,形成两个类,这样做也是为了降低耦合,因为这些数有可能有各种规则,运算也可能是各种运算而不只是我们这里的简单运算。
代码如下:

# coding=utf8

# 运算类基类
class Operation(object):
    def __init__(self):
        self.numberA = None
        self.numberB = None

    def get_result(self):
        result = 0
        return result

# 具体运算类(加法)
class OperationAdd(Operation):
    def __init__(self):
        super(OperationAdd, self).__init__()

    def get_result(self):
        return self.numberA + self.numberB

# 工厂类
class OperationFactory:
    def create_factory(self):
        oper = OperationAdd()
        return oper

if __name__ == '__main__':
    factory = OperationFactory()
    oper = factory.create_factory()
    oper.numberA = 1
    oper.numberB = 2

    print oper.get_result()

我们简单的进行了演示,扩展的时候可以在具体运算类中对运算规则进行变更,而且在工厂中也可以进行相对不同的运算进行选择。
下一节,我们进行策略模式的讲解。

上一篇 下一篇

猜你喜欢

热点阅读