一般性不等于抽象性

阅读更多
    级列设计理论中我们谈到一般和特殊的关系, 但这是否指的是“相对抽象” 以及 “相对具体”之间的关系, 而“一般”到“特殊”和“特殊”到“一般”这两个方向是否指的是具化过程和抽象泛化过程? 我猜测有这种想法的人大概是受到软件设计中所谓抽象封装思想的影响. 很显然, 我并不是这样认为的. 一般性(普遍性)与抽象性是不同的概念. 在物理学中相对论是比Newton力学更加一般性的理论,但它和Newton力学一样都是关于我们这个世界的真实的理论,都是非常具体的。虽然我们有的时 候会说相对论更加抽象一些,这不过是暗示这个理论所描述的情形与我们的日常经验距离遥远而已,并不意味着它是某种只存在于概念空间的东西。实际上我很少谈 到抽象与泛化过程,这对于物理学而言并不是一个合适的命题.

    有些人认为"service层, data object层,  dao层只是对程序职责的描述并不是实现,在实现中应该根据实际情况进行合并与取舍"。在我看来, 持有这种看法的人已经把自己的思想限定在了某一个复杂性层次上, 认为这些职责是天然的,必然的存在于程序中的. 但实际上, 我们肯定可以想见更加复杂的情形, 仅仅三层并不足以充分表达程序的结构, 而另一方面, 在极端简单的情形下, 例如只有一个数据库,只有CRUD操作, 此时根本就不存在这种职责. 一种所谓的职责从来就不曾存在过,我们自然也不应先把东西搞复杂起来,再合并取舍回去。

你可能感兴趣的:(DAO,数据结构)