// 消息通知接口
public interface MessageNotifier {
void send(String message, String recipient);
}
// 短信通知实现类
public class SmsNotifier implements MessageNotifier {
@Override
public void send(String message, String recipient) {
// 发送短信的逻辑
System.out.println("Sending SMS to " + recipient + ": " + message);
}
}
// 微信通知实现类
public class WechatNotifier implements MessageNotifier {
@Override
public void send(String message, String recipient) {
// 发送微信的逻辑
System.out.println("Sending Wechat message to " + recipient + ": " + message);
}
}
// 钉钉通知实现类
public class DingdingNotifier implements MessageNotifier {
@Override
public void send(String message, String recipient) {
// 发送钉钉的逻辑
System.out.println("Sending Dingding message to " + recipient + ": " + message);
}
}
// 抽象工厂接口
public interface MessageNotifierFactory {
MessageNotifier createSmsNotifier();
MessageNotifier createWechatNotifier();
MessageNotifier createDingdingNotifier();
}
// 具体工厂类
public class DefaultMessageNotifierFactory implements MessageNotifierFactory {
@Override
public MessageNotifier createSmsNotifier() {
return new SmsNotifier();
}
@Override
public MessageNotifier createWechatNotifier() {
return new WechatNotifier();
}
@Override
public MessageNotifier createDingdingNotifier() {
return new DingdingNotifier();
}
}
// 客户端代码
public class NotificationDemo {
public static void main(String[] args) {
// 创建工厂实例
MessageNotifierFactory factory = new DefaultMessageNotifierFactory();
// 通过工厂创建不同类型的消息通知器
MessageNotifier smsNotifier = factory.createSmsNotifier();
MessageNotifier wechatNotifier = factory.createWechatNotifier();
MessageNotifier dingdingNotifier = factory.createDingdingNotifier();
// 发送消息
smsNotifier.send("Hello, this is an SMS!", "1234567890");
wechatNotifier.send("Hello, this is a Wechat message!", "user@wechat.com");
dingdingNotifier.send("Hello, this is a Dingding message!", "user@dingtalk.com");
}
}
消息通知抽象工厂示例
最新推荐文章于 2025-05-20 22:23:34 发布