Open Shtramak opened 6 years ago
Надо продумать реализацию метода run. Пока не понятно, что он должен делать кроме как подключаться при запуске .
@danilkuznetsov ну, как раз для начала этого и достаточно, по-моему... Эта таска просто выдает костяк для следующего уровня - работы с командами. После ее выполнения, у нас уже будет класс Main, который будет точкой входа, он вообще по идее уже изменений терпеть не будет, а MainController со своим методом run() затем плавно переходит в задание по командам. Ну, это я так вижу... Добавил еще в таску важну строку: В коде контроллера использовать только абстракции View и DatabaseManager! Никаких реализаций!
Может уточнить еще глубже "В коде контроллера использовать только переменные экземпляра MainController, инициализированные в конструкторе"?
Добавить в пакет sqlcmd пакет controller
В пакете controller добавить класс MainController
У MainController должен быть конструктор, который на вход принимает абстракции/интерфейсы View и DatabaseManager
В классе MainController реализовать приватный метод void connectToDb(), который будет удовлетворять следующим Userstories:
[Подключение к базе] Я как ЮЗЕР хочу подключиться к существующей базе данных и вносить в нее правки
В коде контроллера использовать только абстракции View и DatabaseManager! Никаких реализаций!
а) [успешно подключились] я вижу приветствие от программы -> я ввожу имя базы, юзер, пароль -> я вижу сообщение что все ок (подключение успешно) -> PROFIT б) [неправильный пароль] я вижу приветствие от программы -> я ввожу имя базы, юзер, пароль (не верный) -> я вижу сообщение, что пароль не правильный -> я вижу поле для повторного ввода пароля -> я ввожу его (правильный) -> подключение успешно -> ПРОФИТ в) [несуществующая база] приветствие -> ввожу имя несуществующей базы c какими-то логином и паролем -> вижу что базы не существует -> повторное поле ввода -> ввожу все правильно -> подключился г) [несуществующий пользователь]
В класс MainController добавить метод public void run() из которого будет вызываться метод connectToDb()
В пакете controller добавить класс Main, который будет точкой входа проекта, то есть должен содержать метод public static void main()
В методе main(): а) создать объекты-реализации интерфейсов View и DatabaseManager б) создать объект MainController и передать в его конструтор объекты-реализации View и DatabaseManager в) у созданного объекта MainController вызвать метод run()
Убедиться, что приложение удовлетворяет требованиям описанным Userstories в п.4
Поздравляю! Только, что в своем проекте ты применил один из важнейших принципов ООП - DIP (Dependency Inversion Principle). Обязательно почитай о нем и разберись. Вот тебе ссылка на википедию :)