1700469977
我们再来看一下封装类ModenPostOffice的变更,它封装了这部分的变化,如代码清单23-7所示。
1700469978
1700469979
代码清单23-7 扩展后的现代化邮局
1700469980
1700469981
public class ModenPostOffice{
1700469982
1700469983
private ILetterProcess letterProcess=new LetterProcessImpl();
1700469984
1700469985
private Police letterPolice=new Police();
1700469986
1700469987
//写信,封装,投递,一体化了
1700469988
1700469989
public void sendLetter(String context,String address){
1700469990
1700469991
//帮你写信
1700469992
1700469993
letterProcess.writeContext(context);
1700469994
1700469995
//写好信封
1700469996
1700469997
letterProcess.fillEnvelope(address);
1700469998
1700469999
//警察要检查信件了
1700470000
1700470001
letterPolice.checkLetter(letterProcess);
1700470002
1700470003
//把信放到信封中
1700470004
1700470005
letterProcess.letterInotoEnvelope();
1700470006
1700470007
//邮递信件
1700470008
1700470009
letterProcess.sendLetter();
1700470010
1700470011
}
1700470012
1700470013
}
1700470014
1700470015
只是增加了一个letterPolice变量的声明以及一个方法的调用,那这个写信的过程就变成这样:先写信、写信封,然后警察开始检查,之后才把信放到信封,最后发送出去,那这个变更对客户来说是透明的,他根本就看不到有人在检查他的邮件,他也不用了解,反正现代化的邮件系统都帮他做了,这也是他乐意的地方。
1700470016
1700470017
场景类还是完全相同,但是运行结果稍有不同,如下所示:
1700470018
1700470019
填写信的内容……Hello,It’s me,do you know who I am?I’m your old lover.I’d like to……
1700470020
1700470021
填写收件人地址及姓名……Happy Road No.666,God Province,Heaven
1700470022
1700470023
com.cbf4life.common3.LetterProcessImpl@15ff48b信件已经检查过了……
1700470024
1700470025
把信放到信封中……
1700470026
[
上一页 ]
[ :1.700469977e+09 ]
[
下一页 ]