木子屋 Dnawo's BLOG

手机主题在线打包Windows服务设计

👤 dnawo 📅 2009-07-11 👁 3953 👍 0 💬 0 🔄 本站原创
第一阶段

这一阶段平台上的手机主题产品种类有Symbian S60二版、三版和五版,各版本的打包方式不太一样,针对它们分别设计了三个Windows服务,数据库结构如下:

图片

各服务根据Version获取自己可以打包的产品信息:

二版服务:Version=1
三版服务:Version=2
五版服务:Version=3

每个服务同一时间只打一个产品一个包[1],服务器上同一时间可以打三个包。

第二阶段

平台上主题产品种类增加:二版动态、三版动态。 二版动态和普通二版打包方式一样,三版动态和普通三版打包方式一样,但业务ID[2]不一样:普通二版(5)、二版动态(26)、普通三版(6)、三版动态(17)、普通五版(18),针对这一变化,在代码修改量最小的前提下,将Version字段重新定行了定义:

图片

各服务根据Version获取自己可以打包的产品信息:

二版服务:Version=[5,26]
三版服务:Version=[6,17]
五版服务:Version=[18]

每个服务同一时间仍是只打一个产品一个包。同时,这一阶段将产品打包代码做了封装,写成了类库,其他应用中都改用此类库打包,方便日后修改维护。

第三阶段

平台上新增主题产品种类:变态主题。二版变态和普通二版打包方式一样,三版变态和普通三版打包方式一样,但它们业务ID是一样的,都为27,先前的设计又无法满足要求了,最终数据库结构修改如下:

图片

每个服务同一时间仍是只打一个产品一个包,根据Version和BizId进行打包:

二版打包:Version=1,BizId=[5,26,27]
三版打包:Version=2,BizId=[6,17,27]
五版打包:Version=3,BizId=[18]


[1]. 一个产品一般包含20~50个主题包;
[2].打包时要将业务ID内嵌到主题包中;

评论(0)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 在CodeSmith模板中使用自定义属性和方法 下一篇 → 淘宝店铺的灵魂:产品与价格