面试准备之Java常用的设计模式

由于是准备面试的东西,小编又啥都不会,所以东西基本上都是网上的。小编将其挑选汇合。

 

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

    原文作者:dreamOwn
    原文地址: http://www.cnblogs.com/wabi87547568/p/5280905.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞