我需要创建一个电子邮件通知服务(作为更大项目的一部分)。
它将用于发送基于 html 模板的几种类型的通知消息。
我可以通过两种方式设计它:
第一种方式是基于建造者模式。它是通用的(我认为)并且可以处理所有必要的情况。但是对于使用它的人来说不是很方便。典型用法如下所示:
messageBuilder .put("name", "John Doe") .put("company", companyObj) .processPattern(pattern) .send(addresses, subject);
第二种方法是显式地实现所有情况。这意味着使用代码(如下所示)将尽可能简单,但每次我们需要处理任何新案例时,我们都必须修改 API(添加新方法)。
messageSender.sendPersonExpenceNotification(addresses, "John Doe", company);
哪一个更好?为什么?(如果重要的话,语言是 Java)
谢谢!