基于 Composite 设计模式设计一个办公邮件发送程序
时间: 2023-05-18 21:07:23 浏览: 62
好的,我可以回答这个问题。基于 Composite 设计模式,我们可以设计一个办公邮件发送程序,该程序可以将多个邮件组合成一个邮件,并将其发送给多个收件人。以下是一个简单的示例代码:
```
interface Email {
void send();
}
class SimpleEmail implements Email {
private String content;
private String recipient;
public SimpleEmail(String content, String recipient) {
this.content = content;
this.recipient = recipient;
}
public void send() {
// 发送邮件
}
}
class CompositeEmail implements Email {
private List<Email> emails = new ArrayList<>();
public void addEmail(Email email) {
emails.add(email);
}
public void send() {
for (Email email : emails) {
email.send();
}
}
}
// 使用示例
CompositeEmail compositeEmail = new CompositeEmail();
compositeEmail.addEmail(new SimpleEmail("Hello", "recipient1@example.com"));
compositeEmail.addEmail(new SimpleEmail("World", "recipient2@example.com"));
compositeEmail.send();
```
这个程序使用 Composite 设计模式,将多个 SimpleEmail 组合成一个 CompositeEmail,并将其发送给多个收件人。这种设计模式可以使程序更加灵活和可扩展。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)