美文网首页SAP ABAP
ABAP与设计模式之策略模式

ABAP与设计模式之策略模式

作者: 46b61a5f089d | 来源:发表于2018-07-12 08:00 被阅读5次

首先介绍策略模式的基本内容

1. 意图:

定义一系列算法,把他们一个个的封装起来,并且使他们可以互相替换.本模式可以使得算法可以独立于使用他的客户而变化.

2. 结构:

image

3. 适用性:

1).许多相关的类仅仅是行为有异.

2).需要使用一个算法的不同变体.

3).一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现.

4. 参与者:

1).Strategy

定义所支持的算法的公共接口.context使用这个接口来调用某个concrete strategy所定义的算法.

2).ConcreteStrategy

以strategy接口实现具体的算法

3).context

用一个concretestrategy对象来配置

维护一个strategy对象的引用

可定义一个接口来让strategy访问它的数据

5. 效果

1).相关算法系列

2).一个替代继承的方法

3).消除一系列条件语句

Note:

对于效果,我想在以后的例子中就会有所体现,现在只是基本的定义以及结构,所以看上去有些晦涩难懂,不过不要着急,慢慢的就能理解了.

策略模式的例子:

UML图:

image

实现:

1. 定义flybehavior接口

image

2. 定义fly的行为算法

image image

1. 定义quackbehavior接口

image

2. 定义quack的行为算法

image image image

3. 定义抽象类duck,包含两个接口的引用

image

[图片上传失败...(image-5b7de1-1531353552173)]

1. 定义duck子类

绿头鸭子

image image

橡皮鸭子

image.png image

测试结果:

image

相关文章

  • ABAP与设计模式之策略模式

    首先介绍策略模式的基本内容 1. 意图: 定义一系列算法,把他们一个个的封装起来,并且使他们可以互相替换.本模式可...

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • 简说设计模式之策略模式

    前言:对于设计模式基础概念可以去看[简说设计模式之设计模式概述] 一、什么是策略模式 策略(Strategy)模式...

  • 策略模式

    参考资料:漫话:如何给女朋友解释什么是策略模式? 设计模式之策略模式(实例+Demo) Java设计模式(8)——...

  • 学习Head First设计模式Day1

    Java设计模式之设计模式 策略模式:策略模式定义了算法簇,分别封装起来,让他们之间可以互相替换,此设计模式让算法...

  • 策略模式 2018-11-04

    设计模式之策略模式 官方说明设计模式的3个角色: 环境角色:context , 持有一个策略的引用 抽象策略角色,...

  • Java设计模式——策略模式

    Java设计模式之策略模式 这期分享的模式是策略模式是程序设计中最常用的了,因为开发工作中总是会使用到策略模式。 ...

  • 策略模式

    本文参考自: 《JAVA设计模式》之策略模式(Strategy) 1. 作用 策略模式属于对象的行为模式。其用意是...

  • 二十三种设计模式 - 策略模式

    二十三种设计模式 - 策略模式 [TOC] 策略模式原理 在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(...

网友评论

    本文标题:ABAP与设计模式之策略模式

    本文链接:https://www.haomeiwen.com/subject/zlhlpftx.html