策略模式只是“四人帮”定义的众多模式中的一种,这些模式常用于许多其他面向对象的编程语言。
现在使用 Matlab 2008b,我们可以定义可以使用许多这些模式的接口和抽象类。 这不仅是良好的编码实践,而且它们使代码更可重用、更易于维护和随时间更改。 此外,它们为我们提供了一种通用语言来讨论各种编程结构。
GoF 将策略模式定义为: 定义一系列算法,封装每个算法,并使它们可以互换。 策略让算法独立于使用它的客户端而变化。
在这个简单的例子中,我们将时间序列数据存储在 TimeSeries 类中(为了简单起见,我刚刚给了它一个 name 属性)。 然后,假设我们有许多技术指标希望用于这个时间序列数据,但直到运行时我们才知道是哪一个。 此外,我们需要能够在未来轻松添加新的技术指标。
通过使用这个结构,我们传递了 TimeSeries() 类。 通过拥有抽象策略界面,我们可以添加任意数量