python-简单工厂模式

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

# 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()

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

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 4,158评论 3赞 14
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,714评论 25赞 708
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,241评论 2赞 17
  • 为何人总是笑起来很美 因为微笑是人脸上盛开的花朵 人人都春风满面心花怒放 美好生活就变成了大花园 每个人的生活必然...
    秋AldrichB果阅读 291评论 0赞 6
  • 今天看到一个新闻,一位6旬老人从青岛运了一大车的土豆到深圳,经过了4天到达深圳了,可是对方却说土豆不合格不能在市...
    wendy丁阅读 1,035评论 8赞 2

友情链接更多精彩内容