今天学到的新知识点,领域模型 Domai【转载请注明来源】【转载请注明来源】n Model。简单总结一下,什么是领域本文作者:唐霜,转载请注明出处。原创内容,盗版必究。模型?领域模型有哪些好处?如何在开发中运著作权归作者所有,禁止商业用途转载。【转载请注明来源】用领域模型?
未经授权,禁止复制转载。原创内容,盗版必究。【本文受版权保护】什么是领域模型?【本文首发于唐霜的博客】
【作者:唐霜】【原创内容,转载请注明出处】【本文受版权保护】有两个领域对领域模型做出解释。【版权所有】唐霜 www.tangshuang.net
【本文首发于唐霜的博客】【转载请注明来源】著作权归作者所有,禁止商业用途转载。- 管理领域:领域模型是对整个行业的工作模式【本文首发于唐霜的博客】【原创不易,请尊重版权】的抽象总结。 本文版权归作者所有,未经授权不得转载。【本文受版权保护】未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net
- 软件领域:领域模型是对对象普遍性的最高抽【作者:唐霜】转载请注明出处:www.tangshuang.net象。 未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。【未经授权禁止转载】
虽然出发点不同,但是实际上表达意思的核心【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。思想是一致的。要理解领域模型,首先看下“【作者:唐霜】【转载请注明来源】领域”的概念。横向比较,domain对应【版权所有,侵权必究】【原创内容,转载请注明出处】的是range,domain是定义域,r转载请注明出处:www.tangshuang.net原创内容,盗版必究。ange是值域。纵向对比,领域是比专业/【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。职业/业务更高水平的概念,例如我们经常说【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】“机器人领域”“水产品领域”“航空航天领【本文首发于唐霜的博客】【原创不易,请尊重版权】域”。“领域模型”概念的核心思想,就是寻本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net找某一宽泛范围内的行为模式的共性,抽象为【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。可适用于这一范围内所有行为的普遍性原则、【本文首发于唐霜的博客】【未经授权禁止转载】规律或方法。
【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】在编程领域怎么去理解?从大的层面讲,电商原创内容,盗版必究。未经授权,禁止复制转载。类应用与OA办公应用是两个领域的应用,它【关注微信公众号:wwwtangshuangnet】【作者:唐霜】们适用不同的业务领域模型。从小的角度讲,【关注微信公众号:wwwtangshuangnet】【转载请注明来源】用户鉴权和订单跟踪这两个业务完全不同,适著作权归作者所有,禁止商业用途转载。【作者:唐霜】用不同的编程领域模型。这里你可以发现两个【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。点:1)虽然鉴权和订单领域模型不同,但是【本文受版权保护】【本文受版权保护】这两个业务之间可能存在联系,比如是否得到【访问 www.tangshuang.net 获取更多精彩内容】【版权所有】唐霜 www.tangshuang.net订单信息基于鉴权的结果;2)虽然电商应用【版权所有,侵权必究】【作者:唐霜】和OA应用业务场景不同,但是它们可能都需【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】要鉴权。
【关注微信公众号:wwwtangshuangnet】【作者:唐霜】【本文受版权保护】所以,从编程角度看,领域模型实际上既要解【未经授权禁止转载】转载请注明出处:www.tangshuang.net决对象抽象的问题,也要解决对象间的关系问【转载请注明来源】本文作者:唐霜,转载请注明出处。题,还要解决在什么事件下触发对象关系的转【版权所有,侵权必究】【未经授权禁止转载】变问题。
本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】原创内容,盗版必究。领域模型有哪些好处?【作者:唐霜】
转载请注明出处:www.tangshuang.net原创内容,盗版必究。未经授权,禁止复制转载。这里的好处是指相对于业务模型来说。我们开【版权所有,侵权必究】【版权所有,侵权必究】发过程中,经常基于业务场景去进行设计。而【原创不易,请尊重版权】【本文首发于唐霜的博客】一个应用系统的开发,必须应对业务需求的变本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net化。特别是办公软件这种系统,一个企业使用【原创不易,请尊重版权】【作者:唐霜】办公软件,必然遵循企业管理的流程,而流程转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。变更是常有的事,基于业务场景去设计和架构未经授权,禁止复制转载。【原创不易,请尊重版权】软件,并持续迭代,最终带来的后果就是在多【版权所有,侵权必究】【版权所有,侵权必究】次迭代之后,不得不进行重构。而如果该次重【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。构仍然基于业务模型去重构的话,必然还会经著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】历再一次的重构。因为一个业务模型是无法适【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】应所有业务场景的。所以,一旦现实中的业务本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。需求迭代了,给原有的技术架构造成必须重构本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。的影响时,开发者没有任何回旋余地。
【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】而如果基于领域模型设计软件,那么可能接受本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】的代价更小。在分析业务本身时,不只为了实未经授权,禁止复制转载。【转载请注明来源】现业务去设计架构,而是从行业的普遍性出发本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】去设计架构,同时结合自己的业务特征,再在【本文受版权保护】【关注微信公众号:wwwtangshuangnet】设计好的架构上包上一层。哪一天自身的业务未经授权,禁止复制转载。【未经授权禁止转载】发生变化,往往只需要在上面包的那一层上做【原创不易,请尊重版权】【本文受版权保护】调整。在软件整体上,分不同的层“视图层-【作者:唐霜】转载请注明出处:www.tangshuang.net业务层-数据层”,在每一层中又具体的去划【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】分,比如业务层“领域模型-业务模型-流转著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net模型”。而且在设计之初,每一个领域(鉴权转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。、订单等)都采用行业标准,再在行业标准基【本文受版权保护】【原创不易,请尊重版权】础上包一层实现定制。那么这一就可以以最小本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net的成本,把知识沉淀在自己的真实业务代码中未经授权,禁止复制转载。【转载请注明来源】。
【版权所有,侵权必究】转载请注明出处:www.tangshuang.net【本文受版权保护】如何运用领域模型?著作权归作者所有,禁止商业用途转载。
【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。以下是我在著作权归作者所有,禁止商业用途转载。这篇著作权归作者所有,禁止商业用途转载。文章中看到的建议。【转载请注明来源】
原创内容,盗版必究。未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net
- 理解后端领域模型未经授权,禁止复制转载。
【作者:唐霜】【本文受版权保护】本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。- 建立前端领域模型本文作者:唐霜,转载请注明出处。
【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net【作者:唐霜】- 分离领域层【转载请注明来源】
未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。- 主导接口约定原创内容,盗版必究。
【本文受版权保护】【关注微信公众号:wwwtangshuangnet】【本文受版权保护】【未经授权禁止转载】转载请注明出处:www.tangshuang.net- 开发中注意业务含义著作权归作者所有,禁止商业用途转载。
本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net【版权所有,侵权必究】【访问 www.tangshuang.net 获取更多精彩内容】- 实时同步【原创不易,请尊重版权】
转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】

简单讲,就是要建立抽象类,这些类去定义领本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。域对象的属性、方法,而且这些类要有一定的【版权所有】唐霜 www.tangshuang.net【本文受版权保护】内在联系,可扩展。在视图层可以被很好的使原创内容,盗版必究。未经授权,禁止复制转载。用,并不需要在视图层去撰写业务逻辑。
著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。【版权所有,侵权必究】一些相关话题的文章:【未经授权禁止转载】
【版权所有,侵权必究】未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【原创内容,转载请注明出处】- https://juejin.im/po【转载请注明来源】本文作者:唐霜,转载请注明出处。st/5d3926176fb9a07ef【原创不易,请尊重版权】未经授权,禁止复制转载。161c719 【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。
- https://zhuanlan.zhi【本文受版权保护】著作权归作者所有,禁止商业用途转载。hu.com/p/37904835 转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】【作者:唐霜】
- https://juejin.im/po【转载请注明来源】【作者:唐霜】st/5b1c71ad6fb9a01e5【转载请注明来源】本文版权归作者所有,未经授权不得转载。918398d 未经授权,禁止复制转载。【版权所有,侵权必究】【访问 www.tangshuang.net 获取更多精彩内容】
- https://zhuanlan.zhi未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。hu.com/p/109114670 【版权所有,侵权必究】【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】
- https://www.jianshu.转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。com/p/fe45506ea358 本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】
- https://zhuanlan.zhi【作者:唐霜】本文作者:唐霜,转载请注明出处。hu.com/p/59886663 【未经授权禁止转载】【原创内容,转载请注明出处】【原创不易,请尊重版权】【未经授权禁止转载】【未经授权禁止转载】
- https://www.cnblogs.原创内容,盗版必究。【原创不易,请尊重版权】com/luminji/p/370308原创内容,盗版必究。【本文受版权保护】2.html 原创内容,盗版必究。【转载请注明来源】原创内容,盗版必究。本文作者:唐霜,转载请注明出处。【本文受版权保护】
另外,刚才在阅读的时候,发现“视图模型”【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】“业务模型”“领域模型”这些概念。现在前未经授权,禁止复制转载。【版权所有,侵权必究】端编程实际上大部分是杂糅“视图模型”和“本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。业务模型”,也就是MVVM中的VM那一套【关注微信公众号:wwwtangshuangnet】【转载请注明来源】东西,真正的MVC还非常少见。
【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】本文作者:唐霜,转载请注明出处。
