Я пытаюсь вставить в дважды связанный список, используя шаблон стратегии. Я написал этот код, так ли это следует за чистой стратегией в Java? или чего-то, чего я здесь не хватает? Любые предложения будут оценены.Шаблон стратегии в LinkedList в java
код Обновление: -
doubleLinkedList = new DoubleLinkedList(new ConcreteStrategyAdd());
doubleLinkedList.executeStrategy("john");
doubleLinkedList.executeStrategy("tom");
doubleLinkedList.executeStrategy("carls");
Это класс
class DoubleLinkedList {
private Strategy strategy;
private NewLink firstNode;
private NewLink lastNode;
private static NewLink rootNode;
// Constructor
public DoubleLinkedList(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy(String a) {
strategy.execute(a, this);
}
// Initializing values in the Constructor for DoubleLinkedList
public DoubleLinkedList() {
rootNode = null;
firstNode = null;
lastNode = null;
}
public boolean isEmpty() {
return rootNode == null;
}
}
Это интерфейс для стратегии
interface Strategy {
void execute(String a, DoubleLinkedList list);
}
// Реализует алгоритм, использующий интерфейс стратегии
public class ConcreteStrategyAdd implements Strategy {
DoubleLinkedList doubleLinkedList = new DoubleLinkedList();
public void execute(String a, DoubleLinkedList list) {
System.out.println("Called ConcreteStrategyAdd's execute()");
//insert here by using the logic
}
}
}
Я обновил код, Дайте мне знать, правильно это или нет. Но с этим я не уверен, где я должен поместить мой метод вставки.
Хорошо спасибо. Можем ли мы сделать этот код более логичным для стратегического шаблона, поскольку он выглядит более багги для меня? Как вы мне сказали, это правильно. Но почему-то я думаю, что я несколько раз определяю несколько вещей, чтобы упростить задачу. – AKIWEB