1700479591
1700479592
代码清单33-7 邮件服务器
1700479593
1700479594
public abstract class MailServer{
1700479595
1700479596
//发送的是哪封邮件
1700479597
1700479598
protected final MailTemplate m;
1700479599
1700479600
public MailServer(MailTemplate_m){
1700479601
1700479602
this.m=_m;
1700479603
1700479604
}
1700479605
1700479606
//发送邮件
1700479607
1700479608
public void sendMail(){
1700479609
1700479610
System.out.println(”====正在发送的邮件信息====”);
1700479611
1700479612
//发件人
1700479613
1700479614
System.out.println(“发件人:”+m.getFrom());
1700479615
1700479616
//收件人
1700479617
1700479618
System.out.println(“收件人:”+m.getTo());
1700479619
1700479620
//标题
1700479621
1700479622
System.out.println(“邮件标题:”+m.getSubject());
1700479623
1700479624
//邮件内容
1700479625
1700479626
System.out.println(“邮件内容:”+m.getContext());
1700479627
1700479628
}
1700479629
1700479630
}
1700479631
1700479632
该类相对于策略模式的环境角色有两个改变:
1700479633
1700479634
❑修改为抽象类。为什么要修改成抽象类?因为我们在设计一个架构,邮件服务器是一个具体的、可实例化的对象吗?“给我一台邮件服务器”能实现吗?不能,只能说“给我一台Postfix邮件服务器”,这才能实现,必须有一个明确的可指向对象。
1700479635
1700479636
❑变量m修改为Protected访问权限,方便子类调用。
1700479637
1700479638
我们再来看看Postfix邮件服务器的实现,如代码清单33-8所示。
1700479639
1700479640
代码清单33-8 Postfix邮件服务器
[
上一页 ]
[ :1.700479591e+09 ]
[
下一页 ]