对工厂模式的理解

工厂模式主要解决的问题在于降低代码耦合度,将大量对对象的初始化代码抽象为可复用的方法


    例如对数据库的连接,可能要使用mysql,可能要使用oracel,可能要使用sqlite,可能这三者要同时使用。使用在业务体中现场实例化的方法的话,一个过程不嫌复杂,两个过程也不嫌复杂,如果有多个相同过程时,对具体对象的初始化将成为比较重的代码冗余。对一个大型业务系统来说,如果每次实例化一个对象并且要载入一些属性的话,为了产生对象而写的代码量就比较庞大了。


    工厂模式就很好的解决了这个问题。工厂模式同时也是一种类的管理模式。处于工厂模式下的开发,将多个属于同样类型的类集合在一起(具体产品角色),在他们之上创建一个工厂类(工厂角色),负责根据传入的参数实例化对应的产品对象并按业务初始化赋值对象属性。按抽象的思维方法,还可以在具体产品和工厂之间创建一个具体产品的抽象类(抽象产品角色),抽象出所有具体产品共有的方法和属性,进一步提高复用度、降低冗余。


    工厂模式使得业务逻辑中的对象构造类代码大大减少,而代之以参数形式传入某个固定工厂类,而工厂类内部对对象的复用可以进一步优化,属性无关的对象可以直接返回上一次new的实例,大大减少了内存空间被浪费的风险。

你可能感兴趣的:(对工厂模式的理解)