从大3开始接触java,到现在也有近3年了(工作1年)。对java有所了解,对编程也有所了解。编程经验的一点点积累,让我对一些模式有些疑惑。
譬如今天要说的 策略模式(Strategy) 命令模式(Command)。
具体他们是什么,各位可以参考下面的网址
设计模式之Strategy(策略)
http://www.jdon.com/designpatterns/designpattern_Strategy.htm
设计模式之Command
http://www.jdon.com/designpatterns/command.htm
我的疑惑在于他们到底有什么不同呢?
策略模式和命令模式,他们都封装了算法,以实现一个固定的接口供其他应用调用。仔细想了想,加上google之后,略有眉目。
事实上在探讨设计模式的时候,我们需要场景来描述。
对策略模式,他封装的是算法。对应不同的问题有不同的解决方案。典型的是,Hibernate对事务的处理,是jdbc事务还是JTA事务? 用户只要在配置文件中指定就可以了。
命令模式的一个应用场景就是菜单响应。你按了一下菜单项,然后一个动作就被执行了。更常用的就是我们在使用xwork。我们定义了一系列action。 每个action都有自己的name,也有相应的class(当然还可以指明具体方法)。 其实class的实例的方法调用就是针对这个action的name的响应。
模式本来就很像的。你要硬说他们之间没有联系,那我也没办法。
我从最朴素的语言来描述就是,一个应用的命令是根据业务可以不停添加的,每个命令都有响应。但是对于一个问题(事务管理)的策略是有限的,而且相对来说更少变化。 一般类库封装好一些策略,用户可以根据自己的需求来选择替换。当然也可以自己来实现。不过一般来说没机会了。框架都帮你想好了。你还有更好的策略吗?
分享到:
相关推荐
一个记事本含有保存、另存为、复制、粘贴、剪切、撤销、自动换行等各种功能,解压导入 你懂得
本文以项目中的一个工作流模块,演示责任链模式、策略模式、命令模式的组合实现!最近在做的一个项目,涉及到的是一个流程性质的需求。关于工程机械行业的服务流程:服务任务流程和备件发运流程。项目之初,需求不是...
32.1 命令模式VS策略模式 32.1.1 策略模式实现压缩算法 32.1.2 命令模式实现压缩算法 32.1.3 小结 32.2 策略模式VS状态模式 32.2.1 策略模式实现人生 32.2.2 状态模式实现人生 32.2.3 小结 32.3 观察者模式VS责任链...
总体来说设计模式分为三大类: 创建型模式:共五种:...行为型模式:共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
创建型模式,共五种:工厂方法模式、抽象工厂模式、...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象...4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
创建型模式,共五种:工厂方法模式、抽象工厂模式、...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子模式、中介者模式、备忘录模式、...
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。
设计模式中的很多种模式,如命令模式,策略模式等等
行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式 1、本应用中已完成: 责任链模式 装饰模式 代理模式 单例模式 ...
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。
内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单...命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式、中介者模式、备忘...
├── 第18章_命令模式.ppt ├── 第19章_解释器模式.ppt ├── 第20章_迭代器模式.ppt ├── 第21章_中介者模式.ppt ├── 第22章_备忘录模式.ppt ├── 第23章_观察者模式.ppt ├── 第24章_状态模式.ppt ...
java设计模式示例 创建型模式(5种):工厂方法模式,...行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。
23种设计模式的特点定义、优缺点、使用场景,源码中...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
总体来说设计模式分为三大类: ...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式例子
java设计模式的精简版,创建型模式:工厂方法模式,抽象...行为型模式:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式,共11种
行为型模式(策略模式、 迭代器模式、原型模式、职责链模式、 模板方法、 命令模式、 解释器模式、 中介者模式、 访问者模式、 状态模式、 备忘录模式); 结构型模式(代理模式、桥接模式、适配器模式、外观模式、...