设计模式,创建型

  

一、工厂模式:
1.1为什么要用工厂模式

  

。解耦:把对象的创建和使用的过程分开。

  

b。降低代码重复:如果创建某个对象的过程都很复杂,需要一定的代码量,而且很多地方都要用的到,那么就会有很多的重复代码。

  

c。降低维护成本:由于创建过程都由工厂统一管理,所以发生业务逻辑变化,不需要找到所有需要创建某个对象的地方去逐个修正,只需要在工厂里修改即可,降低维护成本。

  

1.2简单工厂模式

  

这个就是简单的封装,把对象创建的逻辑封装起来,客户端向工厂类传一个需要的对象的标识,工厂类根据这个标识创建对应的对象返回给客户端。

  

通常,工厂类创建的对象继承于同一个父类或者具有相同的接口。每个工厂只创建一类具体类的对象。

  

1.3抽象工厂模式

  

抽象工厂模式包括了以下类:

  

抽象工厂:声明一组用于创建一族产品的方法,每个方法对应一种对象;在抽象工厂中声明了多个工厂方法,用于创建不同类型的对象,抽象工厂可以是接口,也可以是抽象类或者具体类。

  

具体工厂:具体工厂实现了抽象工厂,每个工厂方法返回一个具体对象,一个具体工厂所创建的具体对象构成一个族。

  

抽象类接口:提供一组所有类都具有的业务方法。

  

抽象类:用于实现抽象接口所定义的业务方法,但是该角色对于抽象接口定义的方法只做抽象实现,即所有实现都被定义为抽象方法,最终的具体实现全部交给具体类实现。引入该角色主要是为了根据声明不同的抽象类,将类区分为不同的等级结构。

  

具体类:该角色继承抽象类,主要用于实现抽象类中声明的抽象方法,完成不同等级结构,不同族的业务方法的具体实现。

  

二,单例模式

  

单例模式(单例模式)是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

  

注意:
1,单例类只能有一个实例。
2,单例类必须自己创建自己的唯一实例。
3,单例类必须给所有其他对象提供这一实例。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。

  

三、建造者模式

  

适用场景:一个复杂的对象可由多个类别的子对象组成,每个类别的子对象可由相似的类创建(同一个父类)。

  

例如,去肯德基,汉堡,可乐,薯条,炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的“套餐“。一个典型的套餐可以是一个汉堡(汉堡)和一杯冷饮(冷饮)。汉堡(汉堡)可以是素食汉堡(蔬菜汉堡)或鸡肉汉堡(鸡肉汉堡),它们是包在纸盒中。冷饮(冷饮)可以是可口可乐(可口可乐)或百事可乐(百事可乐),它们是装在瓶子中。

  

四,原型模式

  

似乎对于前端来说,几乎没有用过,一些手游引擎里面的克隆方法是不是这种模式?

  

原型模式(原型模式)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

  

这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式,例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。

  

完。

设计模式,创建型