写点什么

文章:领域模型管理与 AOP

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

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

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

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

关注

评论

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

社区一体化综合平台搭建,智慧平安小区建设解决方案

t13823115967

智慧城市 智慧平安社区平台建设

波场智能合约系统开发技术方案丨智能合约DAPP系统开发源码

滴滴内部框架手册:Spring5+SpringMVC3+MyBatis3.X

Java架构追梦

Java spring 架构 mybatis springmvc

软件测试的方法

测试人生路

软件测试

执法监督信息化建设,公安情报指挥一体化合成作战系统开发

t13823115967

智慧公安

判空使用isEmpty()方法真的可行吗?

田维常

Java

如何阅读别人的源码

熊斌

学习 Code Review 源码阅读 七日更

你不好奇 Linux 网络发包过程吗?

小林coding

Linux 操作系统 网络

编写令人愉悦的API接口(二)

Geek_42915f

Java APi设计 接口规范

应对游戏业务的四大“崩溃”场景有妙招,安全畅玩不是梦!

华为云开发者联盟

游戏 场景 崩溃

APP专项测试 —— 弱网测试

行者AI

测试

SpacePX挖矿系统APP开发|SpacePX挖矿软件开发

系统开发

架构师训练营第 1 期 第 13 周作业

李循律

极客大学架构师训练营

用 JavaScript 实现一个 TicTacToe 游戏 —— 编程训练

三钻

Java 算法 大前端 游戏开发 七日更

LeetCode题解:42. 接雨水,暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

都 2021 年了,Serverless 能取代微服务吗?

Serverless Devs

Serverless 微服务 运维 云原生 后端

ECS实践案例丨逻辑卷的创建和扩容操作指导

华为云开发者联盟

数据库 数据 服务

程序员必看的Redis6.0多线程性能测试结果及分析 你看懂了嘛?

比伯

Java 编程 架构 面试

高性能MySQL

田维常

MySQL

阿里P8整理出Nginx笔记:Nginx应用与运维实战核心篇

996小迁

Java nginx 架构 面试

传统数仓如何转型大数据

数据社

大数据 数据仓库 七日更

大神带你一睹为快!阿里技术官亲自码了“2000页的Spring全家桶笔记”真牛逼!

比伯

Java 编程 程序员 架构 计算机

Serverless 是一种思想状态

Serverless Devs

Java Serverless 运维 云原生 后端

顶会两篇论文连发,华为云医疗AI低调中崭露头角

华为云开发者联盟

人工智能 医疗 华为云

滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列

Java架构之路

Java 程序员 架构 面试 编程语言

Nice!有了这份Alibaba内部 “Java面试宝典”,跳槽面试稳了

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第 1 期 - 第 11 周 - 命题作业

wgl

极客大学架构师训练营

灵魂一问:数据库连接池到底该怎么配?

Gopher指北

MySQL Go 语言

区块链数字货币多币种钱包开发案例

用 JavaScript 实现寻路算法 —— 编程训练

三钻

Java 算法 大前端 七日更 寻路算法

从中心到边缘,IoT正变为互联网之上的一张大网

华为云开发者联盟

物联网 IoT 网络

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