打字猴:1.700469984e+09
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
1700470027 邮递信件……
1700470028
1700470029 高层模块没有任何改动,但是信件却已经被检查过了。这正是我们设计所需要的模式,不改变子系统对外暴露的接口、方法,只改变内部的处理逻辑,其他兄弟模块的调用产生了不同的结果,确实是一个非常棒的设计。这就是门面模式。
1700470030
1700470031
1700470032
1700470033
[ 上一页 ]  [ :1.700469984e+09 ]  [ 下一页 ]