• 设计模式_简单工厂模式


    一、面向对象的编程

    1.可维护性:要改,只需要更改要改动的地方;

    2.可复用:代码单元可以再其他地方被反复使用;

    3.可扩展:要加新功能,只需很方便地增加即可;

    4.灵活性:代码单元的重新组合要很方便,以此实现新的功能。

    二、面向对象的好处

    1.封装。通过封装,比如就可以将业务实现与界面显示实现分开;通过封装,达到容易维护和扩展;

    2.继承:在没有使用继承之前,代码的技术员工资、主管工资都写在一起的话,那么要增加一个销售人员的工资时,需要改代码。而且,这份代码中的其他人员的工资实现对程序员是可见的,这是非常危险的,因为程序可以修改已有人员的工资算法。因此,在扩展时,为了不影响,而且也不应该对程序员可见已有的代码,可以将技术员、主管的工资的实现使用继承来实现。这样,增加销售人员工资实现时,只需得到工资最基本的父类即可,销售人员的实现类就由程序员自己实现。

    这里还有一个例子。

    定义一个算术父类,子类有加法、减法、除法、乘法。今后要修改加法,只需要修改加法一个类就够了,程序员都不需要知道其他的运算类。

    如果要增加其他的算法,只需要再写一个子类就行了,不需要知道其余的类

    3.多态:通过多态,客户端只需要知道父类类型就可以了,以及知道父类的方法就可以了。至于父类具体是什么子类型,可以通过简单的工厂模式来决定。这样就减少了客户端需要维护的工作量。

    三、简单工厂模式组合

    继承+多态+简单工厂模式

    四、简单工厂模式缺点

    它只是解决对象的创建问题,,但是每次由于算术算法的更改,都需要更改工厂,导致代码需要重新编译。

  • 相关阅读:
    代码演示C#各版本新功能
    有关taro的路由的问题
    优秀的基于VUE移动端UI框架合集
    前端开发应该关注的前沿技术
    let与const的区别
    vue2.0 watch里面的 deep和immediate作用
    Flink MiniCluster 启动流程
    Windows把执行命令值赋值给变量
    Ubuntu时间比正常时间多8小时,设置重启以后时间又多8小时解决办法
    Windows下使用命令实现类似awk命令
  • 原文地址:https://www.cnblogs.com/itblog/p/7236618.html
Copyright © 2020-2023  润新知