Matlab策略模式

2021-10-07 20:25:45 字數 1167 閱讀 7662

策略模式的意圖是定義一系列演算法,把它們乙個乙個封裝起來,並且使它們可以互相替換。通常每個策略演算法不可抽象再分。本人仿照所給的例子,用matlab**對其進行實現

strategy.m

classdef strategy < handle

methods(abstract)

dooperation(~,~,~);

endend

operationadd.m

classdef operationadd < strategy

methods

function res = dooperation(~,num1,num2)

res = num1 + num2;

endend

end

operationmultiply.m

classdef operationmultiply < strategy

methods

function res = dooperation(~,num1,num2)

res = num1 * num2;

endend

end

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);

endend

end

測試**:

context = context(operationadd());

disp("2 + 3 = " + context.executestrategy(2, 3));

context =context(operationmultiply());

disp("2 * 3 = " + context.executestrategy(2, 3));

模式 策略模式

前言 所有的設計模式都是基於程式設計屆前輩們的不斷實踐得出的解決一類問題中比較有效高效的程式設計方法。策略模式 策略模式用於解決業務中不同場景下統一行為的細微差別問題。策略模式遵循 開閉原則 舉個例子來說,在購物車功能中,結算 的時候會根據使用者的不同級別去打折,那麼打折計算 的這一行為就會有不同演...

策略模式(策略列舉)

首先定義乙個介面 package com.yecc.suanfa.strategy created by yecc on 2020 11 16 19 35 public inte ce strategy 定義三個繼承介面的類 package com.yecc.suanfa.strategy crea...

策略模式及Spring整合策略模式

抽象策略類 inte ce sortservice 具體策略類 class insertionsortserviceimpl implements sortservice else arr j 1 tmp return arr 氣泡排序 class bubblesortserviceimpl imp...