设计模式-建立型

1、 工厂模式:
1.1为何要用工厂模式前端

a. 解耦 :把对象的建立和使用的过程分开。数据库

b. 下降代码重复: 若是建立某个对象的过程都很复杂,须要必定的代码量,并且不少地方都要用到,那么就会有不少的重复代码。设计模式

c. 下降维护成本 :因为建立过程都由工厂统一管理,因此发生业务逻辑变化,不须要找到全部须要建立某个对象的地方去逐个修正,只须要在工厂里修改便可,下降维护成本。缓存

1.2 简单工厂模式ide

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

一般,工厂类建立的对象继承于同一个父类或者具备相同的接口。每一个工厂只建立一类具体类的对象。设计

1.3抽象工厂模式对象

抽象工厂模式包括了如下类:继承

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

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

抽象类接口:提供一组全部类都具备的业务方法。

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

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

2、单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于建立型模式,它提供了一种建立对象的最佳方式。这种模式涉及到一个单一的类,该类负责建立本身的对象,同时确保只有单个对象被建立。这个类提供了一种访问其惟一的对象的方式,能够直接访问,不须要实例化该类的对象。

注意:
一、单例类只能有一个实例。
二、单例类必须本身建立本身的惟一实例。
三、单例类必须给全部其余对象提供这一实例。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地建立与销毁。

3、建造者模式

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

例如,去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是常常变化的,生成出所谓的"套餐"。一个典型的套餐能够是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)能够是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)能够是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中。

4、原型模式

彷佛对于前端来讲,几乎没有用过,一些手游引擎里面的clone方法是否是这种模式?

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

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

完。

相关文章
相关标签/搜索