← Каталог
'Паттерн "Мост" (Bridge) в Java — тип уведомления и канал доставки' — Пример — уведомления
Фрагмент из «'Паттерн "Мост" (Bridge) в Java — тип уведомления и канал доставки'»: Пример — уведомления.
interface MessageSender {
void send(String message, String recipient);
}
class EmailSender implements MessageSender {
@Override
public void send(String message, String recipient) {
System.out.println("Email -> " + recipient + ": " + message);
}
}
class SmsSender implements MessageSender {
@Override
public void send(String message, String recipient) {
System.out.println("SMS -> " + recipient + ": " + message);
}
}
abstract class Notification {
protected final MessageSender sender;
protected Notification(MessageSender sender) {
this.sender = sender;
}
abstract void notify(String recipient, String message);
}
class UrgentNotification extends Notification {
UrgentNotification(MessageSender sender) {
super(sender);
}
@Override
void notify(String recipient, String message) {
sender.send("[СРОЧНО] " + message, recipient);
sender.send("[СРОЧНО] Повтор: " + message, recipient);
}
}
class RegularNotification extends Notification {
RegularNotification(MessageSender sender) {
super(sender);
}
@Override
void notify(String recipient, String message) {
sender.send(message, recipient);
}
} interface MessageSender {
void send(String message, String recipient);
}
class EmailSender implements MessageSender {
@Override
public void send(String message, String recipient) {
System.out.println("Email -> " + recipient + ": " + message);
}
}
class SmsSender implements MessageSender {
@Override
public void send(String message, String recipient) {
System.out.println("SMS -> " + recipient + ": " + message);
}
}
abstract class Notification {
protected final MessageSender sender;
protected Notification(MessageSender sender) {
this.sender = sender;
}
abstract void notify(String recipient, String message);
}
class UrgentNotification extends Notification {
UrgentNotification(MessageSender sender) {
super(sender);
}
@Override
void notify(String recipient, String message) {
sender.send("[СРОЧНО] " + message, recipient);
sender.send("[СРОЧНО] Повтор: " + message, recipient);
}
}
class RegularNotification extends Notification {
RegularNotification(MessageSender sender) {
super(sender);
}
@Override
void notify(String recipient, String message) {
sender.send(message, recipient);
}
}