не получил. У меня есть сущности Doctor и Patient. Я хочу уведомлять их с помощью email, а позже, возможно еще каким то способом. Как мне правильно, с точки зрения ООП и SOLID создать структуру интерфейсов/классов? Как я это вижу. Создаю интерфейс Notifier с методом send. Создаю класс NotifierImpl с перегруженным методом send, который принимает Doctor или Patient. Или что посоветуете?
А если у вас появится еще дополнительная сущность для отправки уведомлений? Например Nurse и т.д?
Добавляем метод, принимающий Nurse. Нет?
Ну вот вы уже нарушили принципы O (отчасти на мой взгляд), L , D,
Так как правильно то сделать?
Привольно по мне - это уже моя субъективная точка зрения. Правильно - это когда работает, так как предполагалось. Если вы хотите идти по SOLID, то вчитайтесь в каждое правило и еще раз рассмотрите задачу
Создать интерфейс person или notifyable
Имплементировать его Doctor и Patient и каждому сделать метод send?
Ну все зависит от того разный код нужен для уведомления разных сущностей или одинаковый
У вас каша в голове и вы тыкаете пальцем в небо. Почитайте еще раз про solid и паттерны гофа, думаю, после ресерча темы вы точно найдёте все ответы на свои вопросы
Как именно уведомление будет реализовано?
Вынимаем из сущности email (.getEmail), отправляем письмо.
Обсуждают сегодня