应用场景:1、某些耗时较长的而用户不需要等待该方法的处理结果2、某些耗时较长的方法,后面的程序不需要用到这个方法的处理结果时在spring的配置文件中加入对异步执行的支持
使用方法import org.springframework.scheduling.an...
分类:
编程语言 时间:
2014-05-16 22:11:38
阅读次数:
343
State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了行为与对象的依赖。
场景描述 在经典的订单处理场景中,订单其不同状态的时候变现了不同的行为,具体内容如下: 假如订单是一个新创建的订单,那么它可以被寄送...
分类:
其他好文 时间:
2014-05-16 07:48:46
阅读次数:
328
策略模式(Strategy),又叫算法簇模式,就是定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。应用场景比如每个人都要交"个人所得税",但是在美国交个人所得税和在中国交个人所得税就有不同的算税方法。概念解释参与的角色1.抽象策略角色...
分类:
其他好文 时间:
2014-05-16 05:56:47
阅读次数:
210
适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。应用场景国内的电压通常为220V,而国外的很多地方采用110V的电压,在国内使用国外原装电器时,就必须有一个电源适配器将220V的电压适配至110V。所以适配器模式也可...
分类:
其他好文 时间:
2014-05-16 05:50:28
阅读次数:
236
原型模式(Prototype)容易理解,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。特别是Java中提供clone()方法来实现对象的克隆,所以Prototype模式实现比较简单。应用场景概念解释类型:创建型设计模式Prototype模式允许一个对象再创建另外一个可定制的对象,根...
分类:
其他好文 时间:
2014-05-16 05:41:57
阅读次数:
212
模板模式(Template
Pattern),又叫模板方法模式,通过定义一个操作的算法骨架,而将一些步骤延迟到子类中,可以不改变一个算法的结构即可以重新定义概算法的某些特定步骤。应用场景概念解释类型:行为型模式
分类:
其他好文 时间:
2014-05-16 05:30:17
阅读次数:
240
中介者模式(Mediator
Pattern),又称为调停者模式,定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。应用场景概念解释模式角色1.
抽象中介者(Mediator)角色:抽象中介者角色定义统一的接口用于各...
分类:
其他好文 时间:
2014-05-16 05:19:53
阅读次数:
216
享元模式(Flyweight),使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元(from维基百科)。应用场景例如J...
分类:
其他好文 时间:
2014-05-16 04:49:36
阅读次数:
284
组合模式(Composite
Pattern),又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。应用场景比如现实中公司内各部门的层级关系。概念解释将对象组合成树形结构以表示“部分整...
分类:
其他好文 时间:
2014-05-14 13:17:09
阅读次数:
284
libevent源码深度剖析三——libevent基本使用场景和事件流程张亮1
前言学习源代码该从哪里入手?我觉得从程序的基本使用场景和代码的整体处理流程入手是个不错的方法,至少从个人的经验上讲,用此方法分析libevent是比较有效的。2
基本应用场景基本应用场景也是使用libevnet的基本流程...
分类:
其他好文 时间:
2014-05-14 08:56:20
阅读次数:
318