`
wjn811
  • 浏览: 7016 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

策略模式、命令模式

阅读更多

      从大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的响应。

模式本来就很像的。你要硬说他们之间没有联系,那我也没办法。


我从最朴素的语言来描述就是,一个应用的命令是根据业务可以不停添加的,每个命令都有响应。但是对于一个问题(事务管理)的策略是有限的,而且相对来说更少变化。 一般类库封装好一些策略,用户可以根据自己的需求来选择替换。当然也可以自己来实现。不过一般来说没机会了。框架都帮你想好了。你还有更好的策略吗?

分享到:
评论

相关推荐

    记事本 使用了策略模式和命令模式

    一个记事本含有保存、另存为、复制、粘贴、剪切、撤销、自动换行等各种功能,解压导入 你懂得

    浅谈简单工作流设计——责任链模式配合策略与命令模式的实现

    本文以项目中的一个工作流模块,演示责任链模式、策略模式、命令模式的组合实现!最近在做的一个项目,涉及到的是一个流程性质的需求。关于工程机械行业的服务流程:服务任务流程和备件发运流程。项目之初,需求不是...

    java设计模式

    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责任链...

    unity-23种常见设计模式unity版

    总体来说设计模式分为三大类: 创建型模式:共五种:...行为型模式:共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    设计模式-C++

    创建型模式,共五种:工厂方法模式、抽象工厂模式、...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    java 23种设计模式.zip

    设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象...4.行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

    23种设计模式项目实例

    创建型模式,共五种:工厂方法模式、抽象工厂模式、...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    基于Java实现的23种设计模式Demo,抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式等

    抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子模式、中介者模式、备忘录模式、...

    java常用23中设计模式

    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。

    设计模式,命令模式等各种模式

    设计模式中的很多种模式,如命令模式,策略模式等等

    leetcode分类-DesignPatternAndAlgorithm:常用设计模式和算法,练习用

    行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式 1、本应用中已完成: 责任链模式 装饰模式 代理模式 单例模式 ...

    23种JAVA设计模式和15种J2EE设计模式

    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。

    《Java设计模式》详解

    内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单...命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式、中介者模式、备忘...

    设计模式课程每章ppt(共27章).zip

    ├── 第18章_命令模式.ppt ├── 第19章_解释器模式.ppt ├── 第20章_迭代器模式.ppt ├── 第21章_中介者模式.ppt ├── 第22章_备忘录模式.ppt ├── 第23章_观察者模式.ppt ├── 第24章_状态模式.ppt ...

    java设计模式示例

    java设计模式示例 创建型模式(5种):工厂方法模式,...行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    Java23种设计模式可直接运行Demo

    行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。

    23种设计模式 -设计模式图解.7z

    23种设计模式的特点定义、优缺点、使用场景,源码中...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    23种设计模式实例

    总体来说设计模式分为三大类: ...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式例子

    设计模式的精简版

    java设计模式的精简版,创建型模式:工厂方法模式,抽象...行为型模式:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式,共11种

    C#23种设计模式样例代码和UML图

    行为型模式(策略模式、 迭代器模式、原型模式、职责链模式、 模板方法、 命令模式、 解释器模式、 中介者模式、 访问者模式、 状态模式、 备忘录模式); 结构型模式(代理模式、桥接模式、适配器模式、外观模式、...

Global site tag (gtag.js) - Google Analytics