欢迎来到天天文库
浏览记录
ID:37375066
大小:1.63 MB
页数:15页
时间:2019-05-22
《张群晖领域驱动盒马实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、领域驱动盒马实践领域模型:基于数据库vs基于对象•DataModeling:通过数据抽象系统关系,也就是数据库设计•ObjectModeling:通过面向对象方式抽象系统关系,也就是面向对象设计领域模型:DataModeling•数据字典就是领域模型•外键就是关系•Manager组织逻辑•数据库设计>代码设计领域模型:ObjectModeling•假设:内存无限大,永远不宕机•持久化无关设计:PersistenceIgnorance•对象模型才是领域模型领域模型:ObjectModeling•现实:内存有限,总有宕机和重启•数据库:持久化数据(
2、CRUD)•重点放在如何有效查询(QUERY)领域模型:失血,贫血和充血模型•失血模型:基于数据库的领域设计方式其实就是典型的失血模型(POJODATA)•贫血模型:盒马流程中心(DATA+METHOD)•充血模型:盒马基础资料(DATA+METHOD+REPO)领域模型:失血领域模型:贫血领域模型:充血领域模型:依赖注入•依赖注入在runtime是一个singleton对象,只有在spring扫描范围内的对象(@Component)才能通过annotation(@Autowired)用上依赖注入,通过new出来的对象是无法通过annotati
3、on得到注入的•个人推荐构造器依赖注入,这种情况下测试友好,对象构造完整性好,显式的告诉你必须mock/stub哪个对象领域模型:依赖注入领域模型:测试友好失血模型和贫血模型是天然测试友好的领域模型:盒马模式下的repo实现领域模型:盒马模式下的部署结构领域模型:盒马模式下的部署结构
此文档下载收益归作者所有