活动记录模式:简单领域模型的利器

中文名是活动记录, 这是一个领域模型模式。它的特点是一个模型类对应关系型数据库中的一个表,并且这个模型类的一个实例对应表中的一行数据。

它的样子和行记录入口非常相似, 但是前者是一种领域模型, 而后者是一种数据源模式, 这俩是不一样的。关系型数据库通常是通过外键来表达实体之间的关系。在数据源的层面上, 也会把这个关系映射成对象的关联和聚集的情况。。

这个方案适合那些内容非常简单的领域需求, 特别是在领域模型和数据库模型长得特别像这种时候会比较好用。如果真的遇到了结构比较复杂的领域模型, 比如里面包含了继承、策略这些东西, 那么通常就不得不使用那种要把数据源给分开处理的领域模型了, 而且还得配合着 Data (数据映射器)一起使用才行。

驱动框架通常兼具 ORM 框架的功能, 但它并不是简单的 ORM, 这就好像 Row 存在区别一样。有一个著名的实例就是全栈 Web 开发框架 Ruby on Rails, 该框架在默认情况下会使用一个由纯 Ruby 语言编写的框架来驱动 MVC 架构里的模型层。

  在 的 《企业应用架构模式》 一书中曾详细叙述了本模式。  以下是著名的 驱动框架:  ()  Ruby on Rails (Ruby)  Yii (PHP)   (.NET)

相关推荐
avi91114 天前
电影开源Jevdo - 源码介绍(vue版)没有android 和 没有wpf
android·wpf·框架·数据爬虫·meego·电影管理
承渊政道5 天前
【大模型应用开发:基于GPT-4和ChatGPT】(使用LangChain框架和插件增强LLM的功能)
chatgpt·langchain·llm·框架·大模型应用开发
咖啡八杯6 天前
Redis 工具封装:RedisCache 对 Operations 体系的二次封装
java·数据库·redis·缓存·框架·springboot·若依
咖啡八杯14 天前
Spring MessageSource 国际化消息解析流程
java·后端·spring·架构·框架·若依
青柠之夏cc19 天前
PHP建站全流程与实战技巧
框架·网站·器
for_ever_love__19 天前
RAGAS 实战:一套能跑起来的 RAG 自动评测框架
人工智能·框架·工具·自动·rag·评估·评测
特立独行的猫a1 个月前
用仓颉语言给娃写了个打字练习游戏:cj-tauri 项目实战
游戏·ui·框架·tauri·仓颉·cangjie·cj-tauri
飞猫的边缘AI1 个月前
边缘AI在自动驾驶应用中的行话汇总
人工智能·自动驾驶·芯片·模型·边缘ai·ai场景·城市noa
小北的AI科技分享1 个月前
ai搭建服务商怎么选?从技术栈到交付质量拆解
模型·搭建·交付