gpt4 book ai didi

java - 策略模式,这个正确吗

转载 作者:行者123 更新时间:2023-11-30 09:40:35 27 4
gpt4 key购买 nike

在策略模式中只做一些策略和技能中的逻辑是否可以保留一些在我自己的代码中,它仍然是策略模式吗?

示例:我使用策略模式来影响元素在我的双向链表中的排序方式。我所做的只是简单地指示策略模式是否希望在给定元素之后插入,然后循环所有元素,然后在使策略模式返回错误的元素之前插入新元素。

或者必须在策略模式中完成所有排序才能使其成为“纯”策略模式?

public interface IInsertStrategy<T> {
public boolean insertAfter(T insertValue, T testValue);
}

添加代码

public void add(T value)
{
DoublyLinkedNode<T> workingNode = head;

// Loop though nodes, to and with the tail
while(workingNode.next != null)
{
workingNode = workingNode.next;
/* Keep going until the strategy is not true any more
* or until we have the last node. */
if(workingNode.next == null ||
!insertStrategy.insertAfter(value, workingNode.value))
{
workingNode.previous.append(value);
break;
}
}
}

最佳答案

IInsertStrategy 的实现中使用您的策略算法会更清晰。想象一下,如果您提出了第三种算法,但由于 add 函数中的某些冲突而无法正确执行。您最终触及了代码的两个部分,这首先违背了抽象插入算法的目的。

关于java - 策略模式,这个正确吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9324020/

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