写点什么

文章:领域模型管理与 AOP

  • 2008-02-28
  • 本文字数:688 字

    阅读完需:约 2 分钟

如今,很多项目都关注于领域驱动设计,但事情并非总是那么容易。其中最重要的事情就是从只因技术原因而存在的代码中将领域代码分离出来。

Mats Helander 在 InfoQ 写了一篇文章,是关于如何用他称为领域模型管理的概念来设法处理领域模型。在文章中,Mats 引领读者一步步解决了在实现一个领域模型时涉及设计和关注点分离的普遍问题,解释了解决问题的方法,并传授了在这个过程中出现的面向方向编程、一对设计模式、以及关于对象 / 关系映射的一些知识。

在下面的文章摘录中,Mats 谈论了把基础架构代码放在哪里的问题:

随着基础架构代码的增长,找到一个处理它的优良架构变得越来越重要。问题主要在于——我们是否允许把一些基础架构代码放在我们的领域模型类里面,还是无论如何应该避免这样做?

避免基础架构代码进入领域模型类的论点是强有力的:领域模型应该表示应用程序所处理的核心业务概念。对于想大量使用其领域模型的应用来说,保持这些类干净、轻量级、易于维护是一个极好的架构目标。

另一方面,我们接下来将会看到,保持领域模型类完全不含基础架构代码——通常被称为使用 POJO/POCO(Plain Old Java/CLR Objects)领域模型,这种极端的路线也被证明是有问题的。最终往往导致采用笨重的、低效率的变通方法来解决问题——而且有些功能用这种方式根本不可能实现。

也就是说,我们遇到的还是一个权衡利弊的情况,我们应该尽量在领域模型类里面只放必不可少的基础架构代码,决不超出这个限度。我们付出领域模型的轻微发胖,换来效率的提高以及使一些必要领域模型管理功能有可能实现。毕竟,软件架构很大程度上是关于如何做一笔好买卖。

阅读全文:领域模型方面的管理 获取源代码

2008-02-28 02:401649
用户头像

发布了 151 篇内容, 共 69.0 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统

天翼云开发者社区

云计算 arm

初识VPC网络的能力

天翼云开发者社区

云计算 网络安全 VPC

解析淘宝商品评论API返回值中的评价热度与关注度

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

进程,线程,协程 - 你了解多少?

蛋先生DX

线程 操作系统 进程 协程 上下文

从Naive RAG到Agentic RAG:基于Milvus构建Agentic RAG

Zilliz

AI Milvus Zilliz 向量数据库 rag

Spark任务OOM问题如何解决?

威哥爱编程

spark OOM

老板:你来弄个团队代码提交规范

禅道项目管理

程序员 DevOps 项目管理软件 代码提交规范 测试团队

企业运维安全方法看这里-行云管家

行云管家

堡垒机 IT运维 企业运维 运维安全

6个最佳核心应用仪表盘构建工具

NocoBase

数据挖掘 数据分析 数据可视化 仪表盘

10分钟使用豆包MarsCode 帮我搭建一套后台管理系统

TRAE.ai

人工智能 程序员 AI

OpenAPI 简介

天翼云开发者社区

网络安全 服务器 API 接口

人工智能的发展趋势

天津汇柏科技有限公司

人工智能

大语言模型 LLM 管理功能特点解析示例

灵快科技

AIGC 模型管理 模型服务 大模型推理 Botnow

linux下redis 扩内存相关命令

威哥爱编程

redis Linux

年轻,也是求职面试的优势

老张

核心竞争力 面试技巧 求职面试 职场晋升

洞察市场趋势,实时监控商品信息是关键 —— 淘宝API的实践探索

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

线上事故风险解读之缓存篇

巧手打字通

redis 缓存 架构 事故 经验总结

蒲城等保测评机构有哪些?在哪里?

行云管家

等保 等级保护 蒲城

Mac苹果电脑微信多开助手,拥有防撤回和微信多开的功能

你的猪会飞吗

微信多开和防撤回工具 微信多开助手 mac微信多开

文章:领域模型管理与AOP_架构_Mats Helander_InfoQ精选文章