1.单例模式
解释:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例
实现方法:1)将被实现的类的构造方法设计成private
2)添加此类引用的静态成员变量,并将其实例化
应用场景:1)网站的计数器
2)数据库连接池的设计
3)应用程序的日志
2.工厂方法模式
解释:通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象
实现方法:
步骤1: 创建抽象工厂类,定义具体工厂的公共接口;
步骤2: 创建抽象产品类 ,定义具体产品的公共接口;
步骤3: 创建具体产品类(继承抽象产品类) & 定义生产的具体产品;
步骤4:创建具体工厂类(继承抽象工厂类),定义创建对应具体产品实例的方法;
步骤5:外界通过调用具体工厂类的方法,从而创建不同具体产品类的实例
应用场景:1)当一个类不知道它所需要的对象的类时
2)当一个类希望通过其子类来指定创建对象时
3)将创建对象的任务委托给多个工厂子类中的某一个,客户端在使用时可以无须关心是哪一个工厂子类创建产品子类,需要时再动态指定,可将具体工厂类的类名存储在配置文件或数据库中
3.抽象工厂模式