初学编程时,每次写代码都是将程序执行的逻辑按照问题的流程去走,也就是所谓的“面向过程编程“,其实这也是最容易理解和想到的,但是它的最大问题在于,问题并不是一成不变的,当问题发生变化时,这只有去改原来的代码,甚至重写。
后面学了”面向对象“,它运用”封装,继承、多态“使得程序”低耦合、高内聚“,进而可维护、可扩展、可复用、灵活多变,
可维护:修改程序时,只改要改之处,不会是其他发生变化
可扩展:增加功能时,不需要对原来的代码进行修改,只需编写增加的部分
可复用:一个模块、类、系统不是只用于一个地方,只要需求相同的地方,还可以用到它
灵活性好:模块之间低耦合,随意组合
简单工程模式:解决类的实例化问题,使用模式之前,都是什么地方需要,就在什么地方用new加构造方法实例化,这就造成难维护的尴尬:
当要修改类名或者更改类的实现时,所有用new实例化的地方都得更改,而简单工程模式,就将所有实例化放到工厂内部解决,所以要修改实例化的地方都只要找他,做到一改全改。
简单工程模式缺点:增加类时,必须修改工厂,修改分支。