1700461232
设计模式之禅 12.5 最佳实践
1700461233
1700461234
代理模式应用得非常广泛,大到一个系统框架、企业平台,小到代码片段、事务处理,稍不留意就用到代理模式。可能该模式是大家接触最多的模式,而且有了AOP大家写代理就更加简单了,有类似Spring AOP和AspectJ这样非常优秀的工具,拿来主义即可!不过,大家可以看看源代码,特别是调试时,只要看到类似$Proxy0这样的结构,你就应该知道这是一个动态代理了。
1700461235
1700461236
友情提醒,在学习AOP框架时,弄清楚几个名词就成:切面(Aspect)、切入点(JoinPoint)、通知(Advice)、织入(Weave)就足够了,理解了这几个名词,应用时你就可以游刃有余了!
1700461237
1700461238
1700461239
1700461240
1700461242
设计模式之禅 第13章 原型模式
1700461243
1700461245
13.1 个性化电子账单
1700461246
1700461247
现在电子账单越来越流行了,比如你的信用卡,每到月初的时候银行就会发一份电子邮件给你,说你这个月消费了多少,什么时候消费的,积分是多少等,这是每个月发一次。还有一种也是银行发的邮件你肯定非常有印象:广告信,现在各大银行的信用卡部门都在拉拢客户,电子邮件是一种廉价、快捷的通信方式,你用纸质的广告信那个费用多高呀,比如我行今天推出一个信用卡刷卡抽奖活动,通过电子账单系统可以一个晚上发送给600万客户,为什么要用电子账单系统呢?直接找个发垃圾邮件的工具不就解决问题了吗?是个好主意,但是这个方案在金融行业是行不通的,为什么?因为银行发送该类邮件是有要求的:
1700461248
1700461249
❑个性化服务
1700461250
1700461251
一般银行都要求个性化服务,发过去的邮件上总有一些个人信息吧,比如“XX先生”,“XX女士”等。
1700461252
1700461253
❑递送成功率
1700461254
1700461255
邮件的递送成功率有一定的要求,由于大批量地发送邮件会被接收方邮件服务器误认是垃圾邮件,因此在邮件头要增加一些伪造数据,以规避被反垃圾邮件引擎误认为是垃圾邮件。
1700461256
1700461257
从这两方面考虑广告信的发送也是电子账单系统(电子账单系统一般包括:账单分析、账单生成器、广告信管理、发送队列管理、发送机、退信处理、报表管理等)的一个子功能,我们今天就来考虑一下广告信这个模块是怎么开发的。那既然是广告信,肯定需要一个模版,然后再从数据库中把客户的信息一个一个地取出,放到模板中生成一份完整的邮件,然后扔给发送机进行发送处理,类图如图13-1所示。
1700461258
1700461259
1700461260
1700461261
1700461262
图13-1 发送电子账单类图
1700461263
1700461264
在类图中AdvTemplate是广告信的模板,一般都是从数据库取出,生成一个BO或者是DTO,我们这里使用一个静态的值来作代表;Mail类是一封邮件类,发送机发送的就是这个类。我们先来看AdvTemplate,如代码清单13-1所示。
1700461265
1700461266
代码清单13-1 广告信模板代码
1700461267
1700461268
public class AdvTemplate{
1700461269
1700461270
//广告信名称
1700461271
1700461272
private String advSubject=“XX银行国庆信用卡抽奖活动”;
1700461273
1700461274
//广告信内容
1700461275
1700461276
private String advContext=“国庆抽奖活动通知:只要刷卡就送你一百万!……”;
1700461277
1700461278
//取得广告信的名称
1700461279
1700461280
public String getAdvSubject(){
[
上一页 ]
[ :1.700461231e+09 ]
[
下一页 ]