设计模式----策略模式(一)
来源:互联网 发布:换热量计算软件 编辑:程序博客网 时间:2024/06/07 09:21
- 场景如下:三个妙计,一个锦囊(Context),一个赵云(使用者),锦囊中的妙计是小亮给的,赵云是个执行者,从锦囊中取出妙计,执行然后获胜。三个妙计是同一个东西那咱就写个接
- package com.fc.strategy;
- public interface IStrategy {
- public void operate();
- }
- package com.fc.strategy;
- public class First implements IStrategy{
- @Override
- public void operate() {
- System.out.println("这是第一个锦囊");
- }
- }
- package com.fc.strategy;
- public class Seconde implements IStrategy{
- @Override
- public void operate() {
- System.out.println("这是第2个锦囊");
- }
- }
- package com.fc.strategy;
- public class Third implements IStrategy{
- @Override
- public void operate() {
- System.out.println("这是第3个锦囊");
- }
- }
妙计既然有了那我们再来个锦囊来装这些妙计:
- package com.fc.strategy;
- public class MyContext {
- private IStrategy strategy;
- public MyContext(IStrategy strategy) {
- this.strategy = strategy;
- }
- public void opt(){
- this.strategy.operate();
- }
- }
- package com.fc.strategy;
- public class Zhaoyun {
- public static void main(String[] args) {
- MyContext context;
- // 第一个
- context = new MyContext(new First());
- context.opt();
- // 第二个
- context = new MyContext(new Seconde());
- context.opt();
- // 第三个
- context = new MyContext(new Third());
- context.opt();
- }
- }
策略模式体现了高内聚低耦合的特性
转自:http://blog.csdn.net/fangchao3652/article/details/43226719
0 0
- 设计模式(一)Strategy - 策略模式
- 设计模式(一)策略模式
- Java设计模式(一) 策略模式
- 设计模式之策略模式(一)
- 设计模式----策略模式(一)
- 设计模式----策略模式(一)
- 设计模式(一)之策略模式
- 浅谈设计模式(一)策略模式
- 【HeadFirst设计模式】(一)策略模式
- 设计模式学习(一)策略模式
- 设计模式(一)策略模式
- 设计模式(一)-策略模式
- 设计模式学习(一)、策略模式
- java设计模式(一)-策略模式
- 设计模式一 策略模式
- 设计模式(一) 策略模式
- 设计模式一:策略模式
- javascript设计模式(一)单例模式 策略模式
- 找到程序或动态库所依赖的所有动态库
- eclipse中创建android项目时,设定minimum required SDK、TargetSDK和Compile SDK有什么要求
- Python 执行字符串表达式函数(eval exec execfile)
- 使用ant编译Android工程(二)
- Android 百度地图最新SDK v3.2.0和Android定位SDK:v5.0应用(2)
- 设计模式----策略模式(一)
- [LeetCode]171.Excel Sheet Column Number
- Python进阶01 词典
- Python进阶02 文本文件的输入输出
- C++ 容器及选用总结
- iOS开发之打包上传到App Store——(一)各种证书的理解
- Python进阶03 模块
- Linux kernel 2.6.32.65 released
- GDataXMLNode库 XML解析