25 lines
807 B
Java
25 lines
807 B
Java
package factorymethod;
|
|
|
|
public class NotificationService {
|
|
|
|
public void send(String type, String recipient, String message) {
|
|
|
|
// Creation logic mixed with business logic
|
|
Notification notification;
|
|
if ("EMAIL".equals(type)) {
|
|
notification = new EmailNotification();
|
|
} else if ("SMS".equals(type)) {
|
|
notification = new SmsNotification();
|
|
} else if ("PUSH".equals(type)) {
|
|
notification = new PushNotification();
|
|
} else {
|
|
throw new IllegalArgumentException("Unknown type: " + type);
|
|
}
|
|
|
|
// Business logic that should never change
|
|
System.out.println("Sending " + type + " to " + recipient);
|
|
notification.send(recipient, message);
|
|
System.out.println("Delivered.");
|
|
}
|
|
}
|