Closed kortov closed 5 years ago
В пакет juja.sqlcmd.controller добавить класс CommandHandler Класс CommandHandler должен содержать поля и метод
juja.sqlcmd.controller
CommandHandler
private DatabaseManager databaseManager; private View view; public void handleCommand(String userInput){}
В пакет juja.sqlcmd.command добавить Command в виде либо абстрактного класса, либо интерфейса, который должен иметь метод
juja.sqlcmd.command
public void execute(String userInput)
Команда должна иметь поля для выполнения своей задачи
DatabaseManager databaseManager; View view;
Так же можно добавить методы
public abstract void executeConnected(String userInput); public abstract void executeDisconnected(String userInput);
По желанию можно добавить enum и фабрику для создания команд. В enum можно воспользоваться кодом:
public enum CommandType { COMMAND( "command", Command::new ); private String name; private Supplier<Command> instantiator; CommandType(String name, Supplier<Command> instantiator) { this.name = name; this.instantiator = instantiator; } public String getName() { return name; } public Command getInstance() { return instantiator.get(); }
Реализовать базовую функциональность нескольких команд, добавить тесты, моки
CommandHandler
В пакет
juja.sqlcmd.controller
добавить классCommandHandler
КлассCommandHandler
должен содержать поля и методCommand
В пакет
juja.sqlcmd.command
добавить Command в виде либо абстрактного класса, либо интерфейса, который должен иметь методКоманда должна иметь поля для выполнения своей задачи
Так же можно добавить методы
Инстанцирование команд
По желанию можно добавить enum и фабрику для создания команд. В enum можно воспользоваться кодом:
Тесты
Реализовать базовую функциональность нескольких команд, добавить тесты, моки