大型网站复杂业务持续重构之道——全程领域建模实践.pdfVIP

大型网站复杂业务持续重构之道——全程领域建模实践.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型网站复杂业务持续重构之道——全程领域建模实践 人物介绍 : Jack Chen ——“宠物商店”的首席架构架构师 拥有丰富的软件设计与建模经验 但对新生事物持 怀疑态度。 王总——“宠物商店”的总经理 从美国留学后回国创立“宠物商店”网站。一路来唾手可得的成功让他 养成了固执专横的行事作风。 Spark —— Jack Chen的大学同学 一家商业软件公司的高级咨询顾问。最近热衷于宣扬“领域驱动 设计”的最佳实践。 引子 就象大家所听说过的那些神奇小子创业故事一样 几只从大西洋游回的海龟找到了一个伟大 的idea——在互联网上开办在线商店销售宠物。幸亏的是他们找到了投资者而且发展的很不错。但 是随着时间的推移 当初“完美”的技术架构随着越来越多的装进篮子的需求后变得不堪重负。作为 公司首席架构师的Jack Chen已经被这几个月“鸡毛蒜皮”的需求折磨失眠好几天啦。 Jack Chen周一一早就被兴奋的王总给喊进了办公室 立即就被王总扔出来的idea吓傻了。 “我有一个很coo l的想法 我们可以在线为宠物医院提供在线预约的服务业务。而不仅仅是卖掉它们 你知道这意味着什么吗 ?这是一个年产值上百亿的市场 !!!”。 “可是王总 我们的系统不能支持这种非实物的服务预订销售 它可能对我们原有的网站形成巨大的 冲击 我们需要三个月的时间对这个业务进行全方面的评估…” Jack Chen立即就被气势汹汹的王总打断了 “三个月的评估 ?我需要在两个月内就给我上线这个新 业务。我们的投资人非常认可我的idea 并要求我们立即把这个项目上线 它可能会帮助我们提高 明年的IPO价格。你明白吗 ? DO IT A SA P !” 评估 “好吧 也许这个该死的王胖子是对的。我们这个将技术与业务混在一起的乱摊子也是到了该整理整 理的时候。”自言自语发了半小时牢骚后的Jack Chen终于恢复到正常状态上来了 我想我应该看看 我们现在是什么样子的 为了支持这个该死的“在线为宠物医院提供在线预约的服务”的需求我们需 要做出哪些改变。于是Jack Chen在白板上很快的就画出了下面的Use Case图来。 图1 原宠物商店UseCase汇总图 为了支持“在线预约”这种特殊的产品 它会影响到大部分的Use Case 具体列举如下 : 1. 商品信息需要增加“预约时间”这个属性 客户在下订单时会把它作为标识一个预约的关键要素。 2. “在线预约”是个虚拟的商品 它可不需要真的需要去检货和包装发货 如果真的那么做啦 我就 太傻了。 . 每个宠物医院每天都只能接受一定数量的预约 从这个概念上来说 它与实物商品有类似的库存 概念。可是我该怎么去表达它们呢 ? 4 . 最要命的是 :我真的要把这些所有受影响的Use Case都翻出来去让它们支持虚拟物品的业务吗 ? 我怎么可能在2个月内完成这些重构 ? 银弹 了无生趣的Jack Chen在王总的办公室门口徘徊了N圈 还是没有勇气去迎接那一通狂风暴雨般的 中英文双语版的羞辱谩骂。“也许事情是有转机的 我好象在哪里听说过有种银弹可以解决这种系统 重构的问题的”。“该死 谁把Spark送给我的 《领域驱动设计》垫在显示器下啦 他一直在向我布道 这本书给他的项目带来的种种神奇改变 也许我也可以试试它的威力”。 “好吧 Spark 我承认你给推荐的书非常棒 你说的也很有道理。我读了它 明白并一些概念—— 例如 :领域分割 、Ent it y、Service、Value O bject … 可我对于该如何去做还是一头雾水。你能不 能直接把你从重构项目中获得的最佳实践直接分享给我呢 ?不然的话 周一王胖子是不会放过交不 出答案的我的 !”。读完了这本书 Jack Chen觉得很有收获 但又不知道怎么开始 打个电话给领 域建模的先行者Spark也许真的是解决问题最快的方法。 “什么 这个问题说来话长 ?不要紧 我已经在你家门口了 你同我慢慢说” Jack Chen带着星巴克 咖啡+肯德基全家桶+久久鸭脖+谄媚的笑容出现在Spark家门口。 布道 Spark听完了Jack Chen对于现状及需求的描述之后 一幅气定神闲的样子讪讪地说出“这个很简 单嘛 你现在需要做的只是这样一些事情 :” 1. 用大比例结构对你的系统进行领域划分 2. 找出这个需求影响的领域及对外接口 . 建立一个适合你们公司的领域驱动设计的技术框架 4 . 按照需求的紧急度来重构各个领域的设计与编码 下面我们就按照这个顺序来

文档评论(0)

00625 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档