AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

IntelliJ IDEA 的 DSM 工具使架构可视化

  • 2008-02-20
  • 本文字数:812 字

    阅读完需:约 3 分钟

优良架构的一个重要特点就是通过组件分层使模块间的依赖流畅贯穿于整个架构。如何描述和维护组件间的依赖是一个常见却又很难解决的工作。UML 包图(package diagram)提供了描述这种依赖的方法,但是创建包图往往很耗费时间,甚至在反向工程时,获得一个直观的设计也需要很长的时间。此外,UML 也不能有效地进行修正,用它来维护大型且复杂的系统的依赖图,投资回报率往往很小。

依赖结构矩阵(Dependency Structure Matrices, DSM ),这一较新技术的出现填补了这个空白。DSM 是一个矩阵,其中每行是一个模块,列则在另一维度上显示一组同样的模块。每个单元格表示两个模块之间的交集,以及它们之间依赖的数目。不需要任何更多的信息,一个人通过典型的例子就能迅速且直观地看到漂亮的DSM 可视化图。

分层系统的DSM

严格分层系统的DSM

匆匆一瞥之后我们接着来看,每行代表分层架构中的一个包。这些行依次从1 到5 进行编号。列也依次编号为1 至5,分别表示与行同样的模块。在严格分层系统中,application 只依赖于model(37 次),model 只依赖于domain,等等。在分层系统中,上层(比如application)可以依赖于其下任何一层(比如util)。有了这种可视化图,只要代码编写违反了规则,可视化图就会立即反映出来。任何出现在右上方的依赖都表明违反了架构的意图。

IntelliJ 已经在新版本“Magnificent 7”中引入了新的 DSM 工具。不用考虑代码基线(codebase)的分层,不用手动整理 UML 图,IntelliJ 会自动从一个已存在的工程生成 DSM。像其它 DSM 工具一样,IntelliJ 能自动调整节点,使依赖显示在左下方。DSM 是交互式的,可以下钻到类级别:

在这个例子中,IntelliJ 的 DSM 工具表明,ReferenceStrength 在架构中,被其下层使用了 4 次。将 DSM 工具集成到 IDE 中非常方便。IDEA 能非常容易地显示出代码基线中的 4 次引用,使问题容易地被修复。在这种情况下,可以使用 IntelliJ 的重构工具把 ReferenceStrength 移到一个更高层次的包中。

2008-02-20 00:245548
用户头像

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

关注

评论

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

4. 爬虫系统

Joy

爬虫实战

华为云耀云服务器L实例:数字化转型的得力伙伴

YG科技

华为云耀云服务器L实例:中小企业数字化转型的智选

YG科技

企业建站服务器选“懵逼”了?照着华为云的思路买准没错!

平平无奇爱好科技

“云”端赛马 “算”出未来丨华为云轻量应用服务器助力企业换道超车

平平无奇爱好科技

真香定律再现!中小企业数字化逃不过华为云轻量应用服务器

平平无奇爱好科技

无脑推荐的轻量应用服务器有没有?华为云是最佳选择

平平无奇爱好科技

7. 电商全球化架构

Joy

独家丨小程序开发支出明细,快Get华为云低成本高效率开发秘诀!

平平无奇爱好科技

新手站长网站开发常犯错?有了华为云这款轻量应用服务器不再踩坑

YG科技

MySQL client 命令 pager/edit/tee 介绍

ba0tiao

MySQL

1. 商品CPV模型

Joy

向场景而生,移动数字化底座WorkPlus支持场景化定制

BeeWorks

WorkPlus稳定服务助力行业千万用户,打造无界沟通协作平台

BeeWorks

“跪求”老板加预算项目才能继续?快试试华为云轻量应用服务器吧

轶天下事

华为云耀云服务器L实例,引领企业数字化新时代

轶天下事

2. 商品那些模型

Joy

WorkPlus即时通讯软件,以自主安全为底座,连接工作的一切

BeeWorks

阿里云太“氪金”?试试华为云超高性价比轻量应用服务器

平平无奇爱好科技

开启数字化转型之选,探寻华为云耀云服务器L实例的独特魅力

YG科技

5. IM系统

Joy

6. 账号系统

Joy

小程序开发遭老板砍预算?快用华为云轻量应用服务器保效果!

YG科技

华为云服务器,中小企业数字化升级的明智之选

轶天下事

小程序创业是伪命题?华为云耀云服务器L实例铺开初创企业发展新蓝图

平平无奇爱好科技

3. 跨境卖全球框架

Joy

传统服务器成“氪金”无底洞,华为云服务器才是中小企业开“肝”首先

轶天下事

企业网站建设容易维护难?华为云服务器保障长期高效运营

轶天下事

智能管理、极致性能:华为云耀云服务器L实例引领小程序开发新潮流

平平无奇爱好科技

IntelliJ IDEA的DSM工具使架构可视化_架构_Michael Bushe_InfoQ精选文章