Java中常用的设计模式

1.单例模式

  单例模式有以下特点:
  1、单例类只能有一个实例。
  2、单例类必须自己创建自己的唯一实例。
  3、单例类必须给所有其他对象提供这一实例。
  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

  总之,选择单例模式就是为了避免不一致状态,避免政出多头。

推荐链接:http://blog.csdn.net/jason0539/article/details/23297037

2.工厂模式

  工厂模式的两种情况:
  1.在编码时不能预见需要创建哪种类的实例。
  2.系统不应依赖于产品类实例如何被创建、组合和表达的细节

推荐链接:http://www.cnblogs.com/poissonnotes/archive/2010/12/01/1893871.html

3.建造着模式

  该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式。

推荐链接:http://www.cnblogs.com/cbf4life/archive/2010/01/14/1647710.html

4.门面模式

  这个模式个人感觉像是Service层的一个翻版。比如Dao我们定义了很多持久化方法,我们通过Service层将Dao的原子方法组成业务逻辑,再通过方法向上层提供服务。

  • 为一个复杂子系统提供一个简单接口
  • 提高子系统的独立性
  • 在层次化结构中,可以使用Facade模式定义系统中每一层的入口

推荐链接:http://www.cnblogs.com/skywang/articles/1375447.html

5.策略模式

  感觉没找到写的特别好的博客,可能是不合胃口。小编喜欢用实际例子来讲的博客。下面的链接是360百科的解释。

推荐链接:http://baike.so.com/doc/1838412-1944078.html

最新文章

  1. SQL基础之GROUPING
  2. HDU1150 Machine Schedule
  3. 修改tomcat的logo
  4. android学习笔记24——事件处理
  5. [Python][flask][flask-wtf]关于flask-wtf中API使用实例教程
  6. Android 属性动画(二)
  7. Umbraco Content属性
  8. Prime Path (poj 3126 bfs)
  9. ACM竞赛之输入输出
  10. bcnf范式
  11. UE4 Pure函数的特点
  12. [jdoj1817]Drainage Ditches_网络流
  13. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->新增模块管理界面导出功能(可按条件导出)
  14. LeetCode算法题-Repeated Substring Pattern(Java实现)
  15. qs.stringify和JSON.stringify()
  16. mysql 数据库主从同步
  17. 30天自制操作系统 - 来一个hello world
  18. ParallaxNode视差节点实现远景近景的不同层次移动
  19. 【转】Tesla Autopilot
  20. 经典串匹配算法(KMP)解析

热门文章

  1. 【译】第五篇 Integration Services:增量加载-Deleting Rows
  2. HTML5之2D物理引擎 Box2D for javascript Games 系列 第一部分
  3. vtk 基础概念
  4. Linux下C程序的反汇编【转】
  5. aarch64_l1
  6. 华硕笔记本U盘重装系统
  7. GitHub安装和使用
  8. collection.toArray(new String[0])中new String[0]的作用
  9. 洛谷P1782 旅行商的背包
  10. Python基础 - 系统进程调用