DCI 和用例切片

Posted

技术标签:

【中文标题】DCI 和用例切片【英文标题】:DCI and Use Case Slices 【发布时间】:2011-08-06 06:03:41 【问题描述】:

在他的书中"Aspect-Oriented Software Development with Use Cases"Ivar Jacobson 介绍了“用例切片”。似乎 基于相同(或至少相似)的想法。

有什么区别?

【问题讨论】:

我也有类似的印象——我认为 Jacobson 从用例开始就一直在尝试做 DCI,但我认为用例以完全不同的方式有用...... 【参考方案1】:

在我看来,它们都源自面向特征的编程。背后的想法是将系统架构的设计安排在一组视图中,每个视图定义系统处理功能的方式。

在用例切片中,这是在 OMG MDA 堆栈的 M1 级别完成的。它定义了一个 UML 配置文件来对方面扩展系统类以添加旨在实现特定用例的属性和操作的方式进行建模。

在 DCI 中,这基本上是通过 OO 技术在 M0(代码)完成的(据我所知,不是方面)。

无论如何,这是一个很好的问题,几年前我对面向上下文的编程和面向方面的编程有同样的担忧。我还是有点相信前者是后者的具体应用。

【讨论】:

那么,您说 DCI 是反映用例的架构,而用例切片是用例的建模技术,与架构无关,对吧?我是这么理解的。 它们都是用例的架构反映。我猜他们只是在不同的抽象级别上利用不同的技术。用例切片定义了一种建模方法来设计满足用例的对象和方面的体系结构。因此它们也与建筑有关。 他们首先教会了我们封装的重要性,现在希望我们打破它是方面或其他横切结构的手段:) 所以你说用例切片在代码中是可见的?你能参考一下吗?我只在 Jacobsons 的总结中读到它们应该是一个建模概念...... 顺便说一句。架构中的恕我直言,我不确定代码:)...我不认为封装是最糟糕的损失,对结构的依赖更糟糕...

以上是关于DCI 和用例切片的主要内容,如果未能解决你的问题,请参考以下文章

如何测试 Spring Boot JdbcTest 切片

比较具有忽略项目顺序的切片字段的结构与stretchr/testify

5G核心网技术基础自学系列 | 网络切片

UML建模 - 用例和用例图

go语言基础切片,map

go语言基础切片,map