2
在戰略模式中,只做戰略和技能中的一些邏輯可以保留一些自己的代碼,它仍然是戰略模式嗎?戰略模式,這是否正確
示例:我使用策略模式來影響元素在我的雙向鏈表中的排序方式。 我所做的只是簡單地將策略模式表示爲如果它希望在給定元素之後插入,然後循環所有元素,然後在使策略模式發回錯誤的元素之前插入新元素。
或者是否必須在策略模式中進行所有排序才能使其成爲「純」策略模式?
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;
}
}
}
這就是我在哪裏想的,謝謝! – Androme 2012-02-17 06:56:47