最近在看一本《大话》的书,它是关于设计模式的,这本书对于初学者来说是非常好的,因为它以故事的模式,让我们在快乐中就学习到了知识。这本书上的模式之一就是简单工厂模式。
首先来说一下编写代码时初学者容易犯的错误:对于参数的命名必须规范,不能用简单的ABC来代替,必须得让别人看的懂自己的代码。还有就是不要把复制和复用混淆,代码尽量避免重复(代码重复到一定程度,维护的时候,可能就是一场灾难)。代码的耦合度一定要降到最低。
简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。它包含有三个模式:工厂、抽象产品、具体产品。其中,简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。抽象产品简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。具体产品是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。
所有模式的目的都是让代码更加简练,更加容易维护,容易扩展和复用。工厂模式只是众多模式中的一种,所以它也有自己的优缺点。优点:工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定应该创建哪个具体类的对象.通过使用工厂类,外界仅仅需要负责“消费”对象就可以了,而不用创建具体的产品对象。并且不必管这些对象是如何创建及如何组织的.明确了各自的职责和权利,有利于整个软件的优化。缺点:将全部创建逻辑集中到了一个工厂类中,它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了。对系统后期的维护和扩展很不利。