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

设计模式总结

发表于: 2015-04-06   作者:朱辉辉33   来源:转载   浏览:
摘要: 1.工厂模式   1.1 工厂方法模式 (由一个工厂类管理构造方法)      1.1.1普通工厂模式(一个工厂类中只有一个方法)      1.1.2多工厂模式(一个工厂类中有多个方法)      1.1.3静态工厂模式(将工厂类中的方法变成静态方法) &n
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

    震惊

    震惊

编辑推荐
1、简单工厂模式——代码摘自《大话设计模式》 将业务与客户端代码分离 业务Operation操作类 业务加
设计模式总结 从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那本书里
设计模式 Table of Contents 1 OO基本原则 2 策略模式 3 状态模式 4 观察者模式 5 模板方法 6 装饰
OOP基础。 OOP有三大目标,重用性、灵活性和扩展性。 <ol type="a" style="line-height:24px; ma
1、认识了这么多设计模式。刚刚接触java没多久就在学长那里听过设计模式的大名,但是由于能力有限,
设计模式总结 http://blog.csdn.net/joyney/category/434480.aspx http://www.jdon.com/designpatte
OOP基础。 OOP有三大目标,重用性、灵活性和扩展性。 OOP有三大特性,封装、继承和多态。抽象虽然不
原文: 设计模式总结 从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那
从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那本书里面的内容,或
一、引言   经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号