用"责任风暴"驱动OOADP和DDD
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
摘要
Eric Evans的《领域驱动设计》(DDD)一书专注于面向对象分析(OOA),但忽略了面向对象设计(OOD)和编程(OOP),这些是实现DDD的必要步骤。由于许多开发人员习惯于数据库驱动的开发,缺乏OOP的实践技能,导致代码难以维护和扩展。为帮助开发者掌握面向对象的分析、设计和编程(OOADP)技能,本文通过微信朋友圈权限系统的案例,展示统一过程(UP)的需求、分析、设计工作流的实际应用。
1. OOADP操练:微信朋友圈权限系统
通过OOADP方法,对微信朋友圈中的权限设置业务用例进行软件建模,设计分析和设计类以及编写样例代码和自动化测试代码。
2. 业务愿景
业务愿景旨在让用户能够控制朋友圈的权限。用户当前面临的挑战是无法管理谁可以看到或被屏蔽查看自己的朋友圈更新。
3. 业务用例
业务用例识别了用户和他们与系统的交互,并且在本案例中没有依赖外部系统。
4. 责任风暴
责任风暴是一种技术,帮助识别并梳理服务、责任和业务规则。通过责任风暴,开发团队能够共创用例模型,从而替代或作为系统用例图的前奏。
5. 分析类图
分析类图帮助识别分析类及其关系,例如用户和朋友圈更新之间的关系,还有责任风暴中识别的名词,这些名词提示了可能的类名和属性名。
6. 设计类图
设计类图进一步丰富了类的属性和方法,以指导编程。根据责任风暴中识别的服务,为每个服务设计一个Service类,并分配相应的责任。
7. 编写代码和自动化测试
基于六边形架构组织代码包,实现了显示“不让Ta看我的朋友圈”好友列表等责任,部分代码和测试可在GitHub上找到。
想要了解更多内容?