-
Notifications
You must be signed in to change notification settings - Fork 5
Description
-
Добавить в пакет 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). Обязательно почитай о нем и разберись. Вот тебе ссылка на википедию :)