频道栏目
首页 > 资讯 > Java > 正文

Java设计模式(24)创建型设计模式总结

17-01-06        来源:[db:作者]  
收藏   我要投稿

Java设计模式(24)创建型设计模式总结:本篇主要想总结一下5种创建型设计模式,比较一下它们之前的相同点和不同点以及实际使用需求。

(一)概述

创建型设计模式是3种大类设计模式中最好理解也是相对简单的设计模式,它们包括工厂方法模式、抽象工厂模式、单例模式、生成器模式和原型模式。

(二)区别

1)工厂方法模式与抽象工厂模式:

两种工厂模式实现的原理差不多,当需要大量创建同一类别的对象时,都可以使用这两种模式。区别在于工厂方法模式仅也只创建一个工厂类,通过工厂类内部的不同方法来生产不同的产品对象;而抽象工厂模式在于针对每个产品对象都要创建一个只服务于该产品的工厂类,这些工厂类实现了相同的产品生成接口。总之,工厂方法模式无论有多少种类的产品,都只有一个工厂类,而抽象工厂模式有多少种类的产品就有多少个针对该产品的工厂类,而且这些工厂类实现相同的接口。

2)单例模式

这种模式在系统设计中使用的最多,简要概括就是要实现单例的类在系统中从始至终只实例化一次,其他类想要引用单例类都只能通过静态函数去引用。使用该模式值得注意的事项是:在实例化时要避免因为多线程同时实例化而产生的异常,所以在实例化的函数中一般会加一个同步锁。

3)生成器模式

生成器模式,也叫建造者模式,当生成器类设置相同的参数属性,却能根据不同需求得出不同的生成对象时,可以使用该模式。比如某个学生填写了自己的个人信息,对于学校录入系统来说,录入的信息是相同的,但是该学生有可能是全日制的,也有可能是夜校的,原因在于学校的档案生成系统(即生成器)为该学生录入的是全日制的档案还是夜校的档案。

4)原型模式

原型模式,实际上就是复制拷贝,将一个实体类通过拷贝的方式来创建相似的对象。复制拷贝有两种情况,一种是深复制,一种是浅复制。深复制是指完全拷贝实体类从而生成一个新的实体类,两个实体类在内存中有各自的存储位置,两者毫无关系。浅复制是指拷贝实体类而生成一个新的实体类,新的实体类和原实体类公用彼此类中的引用数据类型,如类class、接口interface和数组array。

相关TAG标签
上一篇:Spring事务的配置和使用详解
下一篇:高性能web优化(一)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站