写点什么

文章:领域模型管理与 AOP

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

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

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

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

关注

评论

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

一文让你清晰了解医疗行业采购堡垒机的必要性

行云管家

网络安全 医疗 数据安全 堡垒机

镜像供应链安全

天翼云开发者社区

云计算 镜像 云服务 容器技术

NFTScan 正式上线 ERC-6551 NFT API 数据服务!

NFT Research

NFT\ NFTScan API 文档

大模型在蓝鲸运维体系应用——大模型在可观测的增强

嘉为蓝鲸

数据库 可观测 大模型

Vision Pro国行首发,狼真来了,束戈卷甲or秣马厉兵?

AR玩家

AR Rokid Vision pro 炬目AR

揭秘华为云运维中心,如何守护全球10亿用户的智慧生活体验?

华为云开发者联盟

云计算 华为云 安全运维 华为云开发者联盟 企业号2024年6月PK榜

22万奖金池已到位,2024天池云原生编程挑战赛正式启动

阿里巴巴云原生

阿里云 云原生 编程挑战赛

ITSM流程落地经验之事件管理

嘉为蓝鲸

ITSM 流程管理 事件管理

多模态模型学会打扑克:表现超越GPT-4v,全新强化学习框架是关键

Openlab_cosmoplat

如何用 Python 的 requests 库发送 JSON 数据的 POST 请求

我再BUG界嘎嘎乱杀

Python json post

技术解密Java Chassis 3超实用的可观测性

华为云开发者联盟

Java 微服务 华为云 华为云开发者联盟 企业号2024年6月PK榜

心灵解码:数业智能心大陆AI大模型开启数字心理新篇章

心大陆多智能体

接口性能测试---locust脚本编写(一)

天翼云开发者社区

Python 性能测试 locust 脚本编写

嘉为蓝鲸WeOps上新 | 全新优化IM对接,满足用户移动办公场景

嘉为蓝鲸

运维 自动化运维 #WeOps

聚道云软件连接器:打通易快报与保融资金系统,实现高效财务管理

聚道云软件连接器

案例分享

使用天翼云云容器引擎CCE创建简单nginx服务

天翼云开发者社区

nginx 云计算 云服务 容器技术

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