设计模式——简单工厂模式之我见

简单工厂
个人理解

工厂就是用来生产一种东西的,简单工厂是用来生产某一类类的具体实例的。这些类具有从上往下的父子关系
,归根揭底,它们具有相同的祖先类(往往是一个抽象类,其中包含一个抽象的create方法)。通过在工厂factory类中定义一个未实例化的父类变量,并且通过向工厂类中的某个特定的方法(create)传递一个可以区别子类变化的参数,从而在这个构造哦方法中,对工厂类中的父类变量进行不同的实例化,并最终返回这个代表具体子类的父类的变量(多态,是不是也可以理解为里氏替换原则)。

  • 容易扩展 :扩展时,将新的变化写到一个AnotherClasslass)中,并且让它继承父类,然后修改工厂方法的的create方法个产生AnotherC的分支。的分支。
  • 可维护:如果要修改某个分子的实现,只需要修改子类即可。
缺点
  • 当在扩展新的类时,需要修改简单工厂类的方法,这样有点违背了Java设计模式的开闭原则(对扩展开放,对修改关闭)。当然,不存在完全符合开闭原则的代码。
注意

这个是简单工厂模式,而不是工厂模式。工厂模式稍后再说。

简单工厂模式将程序中的逻辑判断放在了服务端的工厂类中,而工厂模式则是将逻辑判断的部分实现,放在了客户端调用的一方。

猜你喜欢

转载自blog.csdn.net/Jatham/article/details/81809790