码迷,mamicode.com
首页 > 其他好文 > 详细

糟糕的十一月

时间:2014-11-30 18:42:52      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:sp   on   数据   bs   数据库   nbsp   设计   js   方法   

十一月感觉就是写邮件系统和两个策划要的活动而已。。。

 

一直觉得邮件系统十分简单,但是实现的时候却不是一回事。实现速度比预期的慢,一方面是边写边参考了礼包系统的结构,另一方面是抽象错误。就因为邮件放在礼包的位置,然后邮件看起来只是比礼包多一两个字段,所以就参考了礼包系统。这个错误实在太严重。表现层的相似性居然影响到后端的实现!!!

 

上周的code review里,被喷了两个多小时。焦点主要是两个地方,一是对内部来说,其他子系统用邮件的时候不友好;二是协议来说,冗余太多,浪费带宽,协议之间也没有正交。解决办法是,为各种类型的邮件建立模板工厂。写邮件的时候,只需要输入所需的少数几个参数,由生成出来的方法检查参数正确性,及特定邮件的固定参数。协议方面,添加了分页加载功能。

 

接着另一位同事,参考了其他项目的情况,抽象出一个更好用的存储层。虽然,存储层做的无非是CRUD,对于邮件系统而言,更可以缩减为CRD。具体实现上,还包含了一层cache,避免对数据库的高频读写。但是,我原来的实现,是按照显示邮件所需的各个参数来做序列化的,因此,其他系统难以复用。当然,设计之初也没有打算提供给内部系统用。。现在,把这一块变成了Json做存储,谁都可以用,底层负责数据存储和消息通知,相当于一个带持久化的消息队列。有了这个队列,写邮件系统就简单多了,无非是检查客户端输入,然后到这个消息队列进行查询即可。

 

谢谢各位同事的包容,以后要加倍努力~

糟糕的十一月

标签:sp   on   数据   bs   数据库   nbsp   设计   js   方法   

原文地址:http://www.cnblogs.com/Lifehacker/p/mail_system_in_lsg.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!