设计模式之创建型模式

1.单例模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点
实现:一个类的对象的产生是由类构造函数来完成的,如果想限制对象的产生,一个办法就是将构造函数变为私有的(至少是受保护的),使得外面的类不能通过引用来产生对象;同时为了保证类的可用性,就必须提供一个自己的对象以及访问这个对象的静态方法

放一个类图直观描述
设计模式之创建型模式
实现方式:
饿汉式
设计模式之创建型模式
懒汉式设计模式之创建型模式
2.工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
定义:主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的

a.简单工厂模式
定义:简单工厂模式又称静态工厂方法模式,是工厂方法模式的一种特例,两者归为一类。它存在的目的很简单:定义一个用于创建对象的接口
模式组成部分:

  1. 工厂类角色:用于商业逻辑和判断逻辑,由一个具体类实现
  2. 抽象产品角色:一般是具体产品继承的父类或者实现的接口,由接口或者抽象类实现
  3. 具体产品角色:工厂类所创建的对象就是此角色的实例,由一个具体类实现
    设计模式之创建型模式
    模式实例
    设计模式之创建型模式
    工厂方法模式
    定义:去掉了简单工厂模式中工厂方法的静态属性,使得它可以被子类继承。这样在简单工厂模式里集中在工厂方法上的压力可以由工厂方法模式里不同的工厂子类来分担
    实现:使用继承自抽象工厂角色的多个子类来代替简单工厂模式中的“上帝类”,分担了对象承受的压力,使得结构变得灵活起来
    模式组成部分:
    1.抽象工厂角色: 是具体工厂角色必须实现的接口或者必须继承的父类,由抽象类或者接口来实现
    2.具体工厂角色:包含具体业务逻辑相关代码,由应用程序调用以创建对应的具体
    产品的对象
    3.抽象产品角色:是具体产品继承的父类或者是实现的接口,由抽象类或者接口来实现
    4.具体产品角色:具体工厂角色所创建的对象就是此角色的实例,由具体的类来实现
    类图分析
    设计模式之创建型模式
    模式实例
    设计模式之创建型模式
    设计模式之创建型模式