美文网首页达叔的朋友圈们
大话设计模式读书笔记-1简单工厂模式

大话设计模式读书笔记-1简单工厂模式

作者: QuietHeart | 来源:发表于2020-03-02 11:32 被阅读0次

    第1章 代码无错就是优?——简单工厂模式

    概念

    单独的简单工厂类,通过一个接口不同的分支,创建不同的实现类。

    例子

    设计一个计算器,不能面向过程:

    • 业务与逻辑的封装

      将界面与算法分开(业务与逻辑),界面包含业务部分负责客户交互,逻辑是算法,实现不同的运算。

    • 紧耦合与松耦合

      通过为不同的运算符创建不同的类(这样实现了对算法中方法的封装,进一步隔离了业务和实现逻辑)。Opera做为抽象类,加法、减法、乘法、除法分别继承Opera,(这样利用了继承,进一步将实现细节封装)

    • 简单工厂模式

      OperaFactor做为工厂类,为OperaFactor提供一个运算符参数,创建出相应的Opera子类但返回的是Opera类型(采用多态,将子类的创建也封装了)

    实现

    简单工厂类实现:

    • 运算抽象类(Operate): 所有运算对象的父类,提供子类要实现的抽象接口,添加新运算符只需要创建新类,以及修改后面的OperaFactor即可。
    • 具体运算符类: 对具体运算进行实现,实现了对具体算法的封装。
    • 简单工厂类(OperaFactor): 集中创建具体运算子对象,通过OperaFactor传递参数来指明创建何种运算,返回多态的 Operate 父类隔离了具体子类。
    • 客户端: 创建简单工厂类,传入运算符参数,工厂类返回以抽象Operate多态的具体运算符类对象。

    实现图如下:

    使用图:

    作用

    简单工厂模式,实现了子类对象创建的封装。

    其它

    另外,讲解了UML类图:继承(实线三角箭头)、实现(虚线三角箭头)、组合(实体菱形箭尾)、聚合(空心菱形箭尾)、依赖(虚线)、关联(实线)

    相关文章

      网友评论

        本文标题:大话设计模式读书笔记-1简单工厂模式

        本文链接:https://www.haomeiwen.com/subject/bsnxkhtx.html