【发布时间】:2018-02-24 12:01:11
【问题描述】:
我正在阅读的一本关于 UML 的书是这样定义抽象的:
抽象是一种设计原则。在分类(类型) 层次结构中,超类型是其子类型的抽象。 抽象让您可以在超类型中定义一个共同的特征,并且 共同特征将类型层次结构向下传播到所有子类型。
我认为“抽象”在 Alloy 中意味着不同的东西。以下是软件抽象一书中的一些节选:
软件建立在抽象之上。选择正确的和编程 会从设计中自然流淌;模块将小而简单 接口;并且新功能将更有可能在没有 广泛的重组......用户想要抽象的程序 简单易懂;专家想要的抽象是 足够强大和通用,可以以新的方式组合......一个 抽象不是模块,也不是接口、类或方法;这是 一种结构,纯粹而简单——一种被简化为基本形式的想法。
因此,在 UML 和 OO 中,抽象是一种特定的设计方法,而在 Alloy 中,抽象是一种想法。那正确吗?请您描述一下 UML 和 OO(面向对象)中的抽象与 Alloy 中的抽象之间的区别吗?
【问题讨论】:
标签: alloy