有事没事领个红包

工厂模式

1 工厂方法

工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。

工厂方法模式:定义了一个创建对象的接口,通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。

abstract Product factoryMethod(String type)

  • 工厂方法是抽象的,所以依赖子类处理对象的创建
  • 工厂方法返回一个产品。超类中定义的方法,通常使用到工厂方法的返回值
  • 工厂方法将客户和实际创建具体产品的代码分割开来
  • 工厂方法可能需要参数来指定所需要的产品

 

2 依赖倒置的一些指导原则

  • 变量不可以持有具体类的引用。如果使用 new,就会持有具体类的引用。可以改用工厂来避开。
  • 不要让类派生自具体类。如果派生自具体类,就会依赖具体类。请派生自一个抽象(接口或者抽象类)
  • 不要覆盖基类中已实现的方法。如果覆盖积累已实现的方法,那么基类就不是一个正真适合被继承的抽象。基类中已实现的方法,应该由所有子类共享。

 

3 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

 

posted @ 2017-07-29 22:13  crazyCodeLove  阅读(150)  评论(0编辑  收藏  举报