Как обобщить отправку уведомление точнее создать для них интерфейсы? Добрый день! Возможно вопрос немножко не понятно но вот что пытаюсь сделать: Есть сервис который должен отправить уведомления в определенных событиях. Данные может быть отправлены и по электронной почте, sms или каким либо другим сервисом который указал пользователь из доступных ему. Для этого хочу создать интерфейс используя которого можно было описать любой сервис.
Так например если взять данные который отправляется то можно отличить следующие свойства который всем одинаково: тема, содержимое. Для электронной почты нужна адрес получателя, отправителя, тема, содержимое. Для телефона получатель, содержимое.

21 Авг 2019 в 07:04
154 +1
0
Ответы
1

Для создания интерфейсов уведомлений можно использовать следующий подход:

Создать интерфейс NotificationService с методом sendNotification, который принимает объект типа Notification.

Создать абстрактный класс Notification, который содержит общие свойства для всех типов уведомлений (тема, содержимое).

Для каждого типа уведомлений (email, sms и другие) создать отдельные классы, реализующие интерфейс NotificationService и наследующие абстрактный класс Notification. В этих классах будут определены специфичные свойства и методы для отправки конкретного типа уведомлений.

Пример кода на Java:

public interface NotificationService {
void sendNotification(Notification notification);
}
public abstract class Notification {
protected String subject;
protected String content;
// геттеры и сеттеры
}
public class EmailNotification extends Notification {
private String recipient;
private String sender;
// геттеры и сеттеры
@Override
public String toString() {
return "EmailNotification{" +
"recipient='" + recipient + '\'' +
", sender='" + sender + '\'' +
", subject='" + subject + '\'' +
", content='" + content + '\'' +
'}';
}
}
public class SmsNotification extends Notification {
private String recipient;
// геттеры и сеттеры
@Override
public String toString() {
return "SmsNotification{" +
"recipient='" + recipient + '\'' +
", subject='" + subject + '\'' +
", content='" + content + '\'' +
'}';
}
}

Таким образом, используя эти интерфейсы и классы, вы сможете удобно описывать и отправлять различные типы уведомлений, сохраняя общий интерфейс для всех сервисов отправки уведомлений.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 829 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир