【问题标题】:Abstraction: design pattern versus essential concept抽象:设计模式与基本概念
【发布时间】:2018-02-24 12:01:11
【问题描述】:

我正在阅读的一本关于 UML 的书是这样定义抽象的:

抽象是一种设计原则。在分类(类型) 层次结构中,超类型是其子类型的抽象。 抽象让您可以在超类型中定义一个共同的特征,并且 共同特征将类型层次结构向下传播到所有子类型。

我认为“抽象”在 Alloy 中意味着不同的东西。以下是软件抽象一书中的一些节选:

软件建立在抽象之上。选择正确的和编程 会从设计中自然流淌;模块将小而简单 接口;并且新功能将更有可能在没有 广泛的重组......用户想要抽象的程序 简单易懂;专家想要的抽象是 足够强大和通用,可以以新的方式组合......一个 抽象不是模块,也不是接口、类或方法;这是 一种结构,纯粹而简单——一种被简化为基本形式的想法。

因此,在 UML 和 OO 中,抽象是一种特定的设计方法,而在 Alloy 中,抽象是一种想法。那正确吗?请您描述一下 UML 和 OO(面向对象)中的抽象与 Alloy 中的抽象之间的区别吗?

【问题讨论】:

    标签: alloy


    【解决方案1】:

    抽象一词有两种含义:作为一种活动和作为该活动的结果。您的 UML 书在第一种意义上使用它,而 Alloy 书在第二种意义上使用它。现在,我会在您引用的那段摘录中使用“概念”一词而不是“抽象”。

    【讨论】:

    • 致@Daniel Jackson ...这是否意味着您今天写这本书时会将其命名为“软件概念”而不是“软件抽象”?而且,在书中你使用“抽象”这个词的地方,你会使用“概念”这个词吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2016-02-15
    • 2011-04-23
    • 2013-05-23
    相关资源
    最近更新 更多