定义一系列的算法,把他们一个个封装起来,并且使它们可相互替换。Strategy模式使算法可独立于使用它的客户而变化。
Strategy模式以下列几条原则为基础:
1) 每个对象都是一个具有职责的个体。
2) 这些职责不同的具体实现是通过多态的使用来完成的。
3) 概念上相同的算法具有多个不同的实现,需要进行管理。
例子:
public interface DatabaseStrategy {
public void process();
}
public class MysqlDBStrategy implements DatabaseStrategy {
public void process() {
System.out.println("处理Mysql数据库连接");
}
}
public class OracleDBStrategy implements DatabaseStrategy {
public void process() {
System.out.println("处理Oracle数据库连接");
}
}
public class DataBaseManager {
public void process(DatabaseStrategy dbStrategy) {
dbStrategy.process();
}
}
public class StrategyClient {
public static void main(String[] args) {
DataBaseManager manager = new DataBaseManager();
MysqlDBStrategy mysql = new MysqlDBStrategy();
manager.process(mysql);
OracleDBStrategy oracle = new OracleDBStrategy();
manager.process(oracle);
}
}
分享到:
相关推荐
C#面向对象设计模式 (行为型模式) Strategy 策略模式 视频讲座下载
strategy策略模式源码 策略模式源码 策略模式源码 策略模式源码
C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第23节:行为型模式Strategy策略模式
走进设计模式之 策略模式(Strategy) 代码
设计模式C++学习之策略模式(Strategy)
23种模式(Pattern) 1、创建形模式: 1)、单用型:Singleton 2)、工厂方法型:Factory Method 3)、抽象工厂型:Abstract Factory 4)、原型:Prototype ...1)、策略模式:Strategy 2)、观察者模式:Observer
【Java设计模式】(2)策略模式Strategy
设计模式 策略模式。金典模式之策略模式代码。
这种设计模式比较常用,希望能够帮助到大家。
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。...
2.3.3 策略模式 29 2.4 修饰用户界面 29 2.4.1 透明围栏 29 2.4.2 monoglyph 30 2.4.3 decorator 模式 32 2.5 支持多种视感标准 32 2.5.1 对象创建的抽象 32 2.5.2 工厂类和产品类 33 2.5.3 abstract ...
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each ...
设计模式-策略模式(Strategy)结合Android小知识讲解,简单明了
一个把数组导出为表格的算法,输入一个数组,导出一个表格,当用户想改变导出的表格时,便可以通过改变输出的算法改变输出的结果。如果输出的内容用以网页显示,则输出 <table><tr><td>Jack</td></tr><tr><td>Maya...
strategy(策略模式Java代码实现)
这份文档讲诉了设计模式之策略(Strategy)模式,希望可以帮助学习的人!
使用strategy策略模式完成算法的封装,实现三种排序算法之间的互相替换。
2009-03-9 策略模式Strategy:当解决一个问题的途径(策略)有很多种的时候,每一种处理方式都可以做为一种处理策略,通过管理类来切换调用不同的策略。
c++设计模式-行为型模式-策略模式;qt工程;c++简单源码; 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于...