博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matlab策略模式
阅读量:3965 次
发布时间:2019-05-24

本文共 988 字,大约阅读时间需要 3 分钟。

策略模式的意图是定义一系列算法,把它们一个一个封装起来,并且使它们可以互相替换。通常每个策略算法不可抽象再分。本人仿照所给的例子,用Matlab代码对其进行实现

Strategy.m

classdef Strategy < handle    methods(Abstract)        doOperation(~,~,~);    endend

OperationAdd.m

classdef OperationAdd < Strategy    methods        function res = doOperation(~,num1,num2)            res = num1 + num2;        end    endend

 OperationMultiply.m

classdef OperationMultiply < Strategy    methods        function res = doOperation(~,num1,num2)            res = num1 * num2;        end    endend

Context.m

classdef Context < handle    properties        strategy    end       methods        function obj = Context(strategy)            obj.strategy = strategy;        end                function res = executeStrategy(obj,num1,num2)            res = obj.strategy.doOperation(num1,num2);        end    endend

测试代码:

context = Context(OperationAdd());disp("2 + 3 = " + context.executeStrategy(2, 3)); context =Context(OperationMultiply());disp("2 * 3 = " + context.executeStrategy(2, 3));

转载地址:http://wqkki.baihongyu.com/

你可能感兴趣的文章
Hibernate中Criteria的完整用法
查看>>
sql jsp
查看>>
spring beans beanfactory applicationcontext
查看>>
使用ORM工具进行数据访问
查看>>
使用ORM工具进行数据访问
查看>>
编译与部署Eclipse+Tomcat+MySQL+Liferay4.1.2
查看>>
杭电ACM——6463(思维)
查看>>
杭电ACM——2069,Coin Change(DP)
查看>>
杭电ACM——2110,Crisis of HDU(母函数)
查看>>
杭电AM——2152,Fruit(母函数)
查看>>
杭电ACM——2566,统计硬币(DP)
查看>>
堆栈(数据结构)
查看>>
队列(数据结构)
查看>>
Mule ESB-Content-Based Routing Tutorial(1)
查看>>
Mule ESB-Content-Based Routing Tutorial(2)
查看>>
Mule ESB-Content-Based Routing Tutorial(3)
查看>>
年末项目经验总结
查看>>
做事情要放下面子,拿起责任
查看>>
敏捷开发实践(1)-故事工作量估算导致的问题
查看>>
记一次解决jenkins持续构建,自动部署的问题
查看>>