gpt4 book ai didi

design-patterns - 状态模式 : Why doesn't the context class implement or inherit the State abstract interface/class?

转载 作者:行者123 更新时间:2023-12-04 18:53:14 25 4
gpt4 key购买 nike

我正在阅读有关状态模式的信息。我才刚刚开始,所以我当然要阅读整个 Wikipedia article在上面。

我注意到文章中的两个示例都有一些基本抽象类或 Java 接口(interface),用于通用 State 的方法/函数。然后有一些从基础继承并以不同方式实现这些方法/功能的状态。然后是一个 Context 类,它有一个 State 类型的私有(private)成员,并且在任何时候,它都可以等于其中一个实现的实例。该上下文类也实现了相同的方法,并将它们传递给当前状态实例,然后有一个额外的方法来改变状态(或者根据设计,我理解状态的改变可能是对已实现方法之一的 react ) .

为什么这个上下文类不专门“扩展”或“实现”通用 State 基类/接口(interface)?

最佳答案

因为状态是一个实现细节,而不是其接口(interface)的一部分。 IE。上下文不是一个状态,它只有一个状态。上下文的用户甚至不需要知道它有一个状态。

关于design-patterns - 状态模式 : Why doesn't the context class implement or inherit the State abstract interface/class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2931348/

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