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邮件服务器
1700479641
1700479642
public class Postfix extends MailServer{
1700479643
1700479644
public Postfix(MailTemplate_m){
1700479645
1700479646
super(_m);
1700479647
1700479648
}
1700479649
1700479650
//修正邮件发送程序
1700479651
1700479652
public void sendMail(){
1700479653
1700479654
//增加邮件服务器信息
1700479655
1700479656
String context=“Received:from XXXX(unknown[xxx.xxx.xxx.xxx])by
1700479657
1700479658
aaa.aaa.com(Postfix)with ESMTP id 8DBCD172B8\n”;
1700479659
1700479660
super.m.add(context);
1700479661
[
上一页 ]
[ :1.700479612e+09 ]
[
下一页 ]