当前位置:首页 > 开发 > 编程语言 > 设计模式 > 正文

设计模式小结

发表于: 2015-01-27   作者:永夜-极光   来源:转载   浏览:
摘要: 学习设计模式链接:http://blog.csdn.net/zhangerqing/article/details/8239539 1.工厂模式  1.1 工厂方法模式 (一个类专门管理构造方法)     1.1.1普通工厂模式(一个工厂类中只有一个方法,这个方法根据参数可以创建不同对象)     1.1.

学习设计模式链接:http://blog.csdn.net/zhangerqing/article/details/8239539

1.工厂模式
  1.1 工厂方法模式 (一个类专门管理构造方法)
     1.1.1普通工厂模式(一个工厂类中只有一个方法,这个方法根据参数可以创建不同对象)
     1.1.2多工厂模式(一个工厂类中有多个方法,每个方法创建不同的对象,避免打字母出错)
     1.1.3静态工厂模式(将工厂类中的方法变成静态方法)
  1.2 抽象工厂模式  (将工厂由类变为接口,将类中的方法变为类)


本质:通过接口降低耦合性,用一个专门的东西来管理具体实现的方法.


2单例模式

单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM

中,该对象只有一个实例存在。这样的模式有几个好处:
2.1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
2.2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
2.3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统

完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单

例模式,才能保证核心交易服务器独立控制整个流程。


2.1.1在Java指令中创建对象和赋值操作是分开进行的
2.1.2也就是说instance = new Singleton(),语句是分两步执行的。
2.1.3.JVM并不保证上面两个操作的先后顺序
2.1.4.因此,如果有多线程,有可能发生下列情况,a线程执行instance = new Singleton(),

但还   没有初始化就离开了线程.b线程跟着就进去程序,因为instance不是null,就不会执行

任何  东西,最后要使用instance这个对象的时候,分配了内存空间,但是没有初始化,就会报


2.1.5.解决方案:实际情况是,单例模式使用内部类来维护单例的实现
2.1.6.方案原因: JVM内部的机制能够保证当一个类被加载的时候,这个类的加载过程是线程

互斥的。所以用内部类保证了对象一定会初始化


3.建造者模式

工厂模式关注的是创建单个产品,而建造者模式则关注创建符合对象,多个部分。

4.原型模式
该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对

象。


5.适配器模式
一个a接口的实现类,要用到a接口中没有,而b类中有的方法
解决方案: c类继承b类(可以用到b类中的方法),实现a接口(可以用到a接口中的方法)
c extends b,implements a

这样a接口的实现类就具有了b类的功能。

设计模式小结

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
最近看了java23种设计模式,鉴于自己的理解画了与之对应的UML图,有些理解的还不是很透彻,先做这一
以下内容从书籍整理理解而来。 根据两个准则来给模式进行分类。第一是目的准则,第二是范围准则。
以下内容从书籍整理理解而来。 根据两个准则来给模式进行分类。第一是目的准则,第二是范围准则。
最近做项目用的是MVC框架,对这个倒是不陌生,但是隐约记得在学设计模式的时候听过MVC设计模式,到
单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组
一. 对象创建型模式 1. Simple Factory (简单工厂模式) 意图: 隐藏创建具体类的代码. 结构: 图1 说
二. 结构型模式 7. Adapter(适配器模式) 意图: 将一个类的接口转换成客户希望的另外一个接口. Adapt
三. 行为型模式 14. Chain Of Responsibility(职责链模式) 意图: 使多个对象都有机会处理请求, 从而
三. 行为型模式 20. Observer(观察者模式) 意图: 定义对象间的一种一对多的依赖关系, 当一个对象的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号