面向对象编程,使我们的程序易于维护,扩展,复用,而设计模式使我们的程序变的更加灵活。
简单工厂模式:它是一种创建型模式,它使我们在创建一个对象时,客户端不需要知道具体的对象实例。简单工厂由产品类和工厂类组成,它提供了一个抽象产品类和多个具体的产品类,工厂类根据条件实例化各产品类。
如果由于业务需求的变化,需要增加其它具体产品,我就只需要使其成为抽象产品的子类,这样程序就更具有可扩展性。如果我们需要对其它个别产品进行修改,我们就只要对可要修改的产品进行修改,而不会影响其它产品,这样程序就更具有可维护性。如果我们在一个另一个项目中,有功能和此程序功能相似,我们可以复用此抽象部分。
简单工厂,在增加了新产品后,我们需要对工厂类进行修改,这样我们就违背了开放—封闭原则。
简单工厂适用于,功能比较固定的业务中。
策略模式:它封装了算法家族,它把各具体算法分别封装起来,让他们之间可以相互替换,使算法的改变不会影响到使用算法的客户端。
策略模式提供了一个抽象的算法类,让其它具体算法类分别继承它。还提供了一个包含抽象算法类引用的类。
在某些运用中,具体的业务规则,变化频率比较高,我们可以分别独立的封装各个具体算法,让它们在不同时刻可以相互替换。
策略模式封装了变化。