gpt4 book ai didi

oop - 策略模式是否违反单一职责原则?

转载 作者:行者123 更新时间:2023-12-04 16:17:31 25 4
gpt4 key购买 nike

如果单一职责原则规定每个对象都必须有一个更改的理由,并且使用策略模式(根据定义)实现的单个策略类具有多个可以因多种原因而更改的方法,这是否意味着不可能实现不违反 SRP 的策略模式?

最佳答案

怎么会这样?
如果我记得,策略模式基本上是一种解耦正在使用的逻辑/算法的方法。所以客户端有 m_IAlgorithm。 IAlgorithm 应该有一小组方法,如果没有的话。

所以 AlgoImplementation 类可以改变的唯一原因是

  • 如果它实现的算法发生变化。 ( 责任/行为改变 )
  • 或者如果 IAlgoritm 发生变化……除非您在定义接口(interface)时犯了错误,否则这种情况很少见。 (这是对自己的公共(public)接口(interface)的更改 - 所以不要认为它违反了 SRP。)
  • 关于oop - 策略模式是否违反单一职责原则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796581/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com