首页 > 其他分享 >领域设计的贫血模型和充血模型

领域设计的贫血模型和充血模型

时间:2023-08-03 18:44:53浏览次数:30  
标签:逻辑 贫血 模型 实体 充血 业务

在领域实体Dao中,实体可以设计为贫血模型和充血模型。

贫血模型只包含见到的get和set方法,不包含业务逻辑,是简单的POJO,所有的业务逻辑都放在service层。

这种模型并不是面向对象的,和对象相关以来的逻辑被解耦到了业务层,优点是模型很简单,缺点是service层的逻辑负责繁重。

充血模型包含了和对象相关的业务逻辑,是面向对象的设计,他的缺点是需要判断如何划分业务逻辑和实体逻辑。

我们可以按照可重用度的程度切分业务逻辑,可重用度高的和实体依赖的是领域逻辑,可重用度低的,和实体状态没有密切关联的放在业务逻辑。

DDD领域驱动设计:贫血模型和充血模型 - 知乎 (zhihu.com)

标签:逻辑,贫血,模型,实体,充血,业务
From: https://www.cnblogs.com/gzhich2019/p/17604162.html

相关文章

  • Django 模型(数据库)
    Django模型是与数据库相关的,与数据库相关的代码一般写在 models.py本节的代码:(Django1.6,Python2.7测试环境)learn_models.zip大家可以按照我的步骤来开始做:django-admin.pystartprojectlearn_models#新建一个项目cdlearn_models#......
  • Django之models模型层2
    一、多表查询之连表查询(基于双下划线的查询)1、2、3、  二、聚合查询(aggregate)1、2、   三、分组查询annotate 1、 2、  四、F与Q查询  五、django中如何开启事务 ......
  • 大模型(LLM)最新趋势总结
    关键结论:开源社区模型不具备真正智能,更好的小模型来自大模型的ScaleDownGPT-4模型信息:采用MoE架构,16个experts,800b参数如何减少幻觉hallucination?scaling/retrieval/rewardmodel指令遵循的开源小模型被过度炒作,已经到达瓶颈,突破方向是更强的BaseModel和更进一步的反馈......
  • 解决大模型“开发难”,昇思MindSpore自动并行技术应用实践
    本文分享自华为云社区《DTSETechTalk|第35期:解决大模型“开发难”,昇思MindSpore自动并行技术应用实践》,作者华为云社区精选。昇思MindSpore是新一代覆盖端边云全场景的开源AI框架,旨在开创全新的AI编程范式,降低开发者门槛,为开发者打造开发友好、运行高效、部署灵活的AI框架,推动人......
  • TabR:检索增强能否让深度学习在表格数据上超过梯度增强模型?
    这是一篇7月新发布的论文,他提出了使用自然语言处理的检索增强RetrievalAugmented技术,目的是让深度学习在表格数据上超过梯度增强模型。检索增强一直是NLP中研究的一个方向,但是引入了检索增强的表格深度学习模型在当前实现与非基于检索的模型相比几乎没有改进。所以论文作者提出......
  • 数据分享|R语言ARIMA模型分析预测上海空气质量指数AQI时间序列|附代码数据
    全文链接:http://tecdat.cn/?p=32265原文出处:拓端数据部落公众号最近我们被客户要求撰写关于上海空气质量指数的研究报告,包括一些图形和统计输出。指数平滑法对于预测来说是非常有帮助的,而且它对时间序列上面连续的值之间相关性没有要求。但是,如果你想使用指数平滑法计算出预测......
  • 语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练
    语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型文本匹配任务数据每一个样本通常由两个文本组成(query,title)。类别形式为0或1,0表示query与title不匹配;1表示匹配。基于单塔Point-wise范式的语义匹配模型ernie_matchi......
  • 模型:Django与Mysql交互
     1、创建数据库用户前提是已经在本机或者服务器上安装了mysql。createdatabaseslw;createuser'slw'@'%'identifiedby'pwd'grantallprivilegesonslw.*to'slw'@'%'identifiedby'pwd'withgrantoption;flushprivile......
  • 基于三维人脸网格模型的二维人脸纹理贴图matlab仿真
    1.算法理论概述      二维人脸纹理贴图是计算机视觉领域中的一个重要研究方向,其目的是将三维人脸模型的纹理信息映射到二维图像上,以便于进行人脸识别、表情分析等应用。本文将详细介绍基于三维人脸网格模型的二维人脸纹理贴图的实现步骤和数学公式。 1.1三维人脸网格模......
  • Python基础day57 Django模板继承和模型层
    模板之标签就是在模板里面使用流程控制:if、else、elseif、for标签看起来是这样的:{%tag%}for标签{%forpersoninperson_list%}{{forloop}}<p>{{person.name}}</p>{%endfor%}{%forpersoninperson_list%}{#判断list是否有值,没有就走empty#}......