posts - 176, comments - 240, trackbacks - 0, articles - 7

一般性不等于抽象性

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

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

Feedback

# re: 一般性不等于抽象性  回复  更多评论   

2005-12-28 13:33 by Flyingis
你的硕士论文是不是和这个相关?理论性很强。

# re: 一般性不等于抽象性  回复  更多评论   

2005-12-28 16:58 by wfeng007
不要用某些人啦。。。 那个只是我个人观点啦。。。。

......对于你的一般性 基本知道是根抽象性有区别了 。。。。。。不过说老实话 相对论没zm学 所以还是不太理解你举的例子 能不能举个 通俗点的例子。。。

关于

service层, data object层, dao层
其实 只是分析到某个抽象层次。。。职责 分类。。。而且有个问题环境 就是“ 交互型应用来说的”

你说:“. 但实际上, 我们肯定可以想见更加复杂的情形, 仅仅三层并不足以充分表达程序的结构”
确实是这样,然而问题是就像你批评说的“有哪么复杂么”。既然,大家都知道,过于复杂就无用的。哪只分析到一个一般人能够接受的复杂程度就停止。难道有错?
其实我只是想说明 问题出在人们在实现中滥用这些东西 。分析出这些东西的本身无可厚非。

还有:关于你举的例子 你说的只有 crud。。。 这里假设你所指crud是 这些方法或函数以及参数就是 服务接口的职责 其实更service 处于同一职责。。。 crud内部比然有对状态的处理以保证这些crud的功能就是预想的那样。。。 其实些东西的更 domain object 层次职责一样。 (说老实话 data object我没有看到过)
dao层 与 crud 中直接跟你的“数据库” 交互的部分 其职责也使相近的。

如果要按照你的级列理论来说: 这里的职责也更你举的例子是不同纬度的级列层次。

# re: 一般性不等于抽象性  回复  更多评论   

2005-12-28 17:02 by wfeng007
还有 抽象 本身不只是软件工程的东西,而是哲学的东西,软件工程只是借用。

比较期待 你的来自自然科学 级列论

只有注册用户登录后才能发表评论。


网站导航: