2、建造模式:将产品的内部表象和产品的生成过程分割开来 , 从而使一个建造过程生成具有不同的内部表象的产品对象 。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节 。建造模式可以强制实行一种分步骤进行的建造过程 。
3、工厂方法模式:核心工厂类不再负责所有产品的创建 , 而是将具体创建的工作交给子类去做 , 成为一个抽象工厂角色 , 仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节 。
4、原始模型模式:通过给出一个原型对象来指明所要创建的对象的类型 , 然后用复制这个原型对象的方法创建出更多同类型的对象 。原始模型模式允许动态的增加或减少产品类,产品类不需要非得有任何事先确定的等级结构 , 原始模型模式适用于任何的等级结构 。缺点是每一个类都必须配备一个克隆方法 。
5、单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式 。单例模式只应在有真正的“单一实例”的需求时才可使用 。
6、适配器(变压器)模式:把一个类的接口变换成客户端所期待的另一种接口 , 从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作 。适配类可以根据参数返还一个合适的实例给客户端 。
7、桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化 , 也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化 。
8、合成模式:合成模式将对象组织到树结构中,可以用来描述整体与部分的关系 。合成模式就是一个处理对象的树结构的模式 。合成模式把部分与整体的关系用树结构表示出来 。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待 。
9、装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案 , 提供比继承更多的灵活性 。动态给一个对象增加功能,这些功能可以再动态的撤消 。增加由一些基本功能的排列组合而产生的非常大量的功能 。
10、门面模式:外部与一个子系统的通信必须通过一个统一的门面对象进行 。门面模式提供一个高层次的接口,使得子系统更易于使用 。每一个子系统只有一个门面类 , 而且此门面类只有一个实例,也就是说它是一个单例模式 。但整个系统可以有多个门面类 。
11、享元模式:FLYWEIGHT在拳击比赛中指最轻量级 。享元模式以共享的方式高效的支持大量的细粒度对象 。享元模式能做到共享的关键是区分内蕴状态和外蕴状态 。内蕴状态存储在享元内部,不会随环境的改变而有所不同 。外蕴状态是随环境的改变而改变的 。外蕴状态不能影响内蕴状态,它们是相互独立的 。将可以共享的状态和不可以共享的状态从常规类中区分开来,将不可以共享的状态从类里剔除出去 。客户端不可以直接创建被共享的对象,而应当使用一个工厂对象负责创建被共享的对象 。享元模式大幅度的降低内存中对象的数量 。
12、代理模式:代理模式给某一个对象提供一个代理对象 , 并由代理对象控制对源对象的引用 。代理就是一个人或一个机构代表另一个人或者一个机构采取行动 。某些情况下 , 客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介的作用 。客户端分辨不出代理主题对象与真实主题对象 。代理模式可以并不知道真正的被代理对象,而仅仅持有一个被代理对象的接口,这时候代理对象不能够创建被代理对象,被代理对象必须有系统的其他角色代为创建并传入 。
推荐阅读
- 电信光猫连接无线路由器怎么设置wifi,电信光纤猫连接路由器怎么设置
- 路由器模式应该怎么选择,路由器模式选哪个最稳定
- 2014魔兽世界服务器,魔兽世界最新服务器人数
- c语言编码二次函数如何 c语言二次幂
- 什么剧在黄岛拍摄,哪些剧是在青岛拍的
- 服务器放在国外违法吗,服务器放在国外违法吗安全吗
- html5圆形进度条代码,html进度条元素
- mysql主键乱了怎么办 mysql主键语句
- 公司能注册公众号吗,公司注册公众号需要什么资料