我知道的软件思想至今发展的主要过程:面向过程 -》OO-》DDD-》DCI
始终是一个进化的过程,OO解决了面向过程的封装,但他依然是基于静态的分析;DDD提供了面向应用业务的分析指导,但是他没有直接提供解决对象变化的指导;DCI提供了系统模型分析的指导,他没有解决。必然有,但我还没有看到。
思想是渐进式的,对于思想的理解也是渐进的。
OO开始提供了思想基础但是缺少实践方式,在以后的时间里他始终影响着软件的思考方式。DCI的上下文中角色的转变其实也源于此。在传统上我们分析了角色的职能,但是往往忽视了“本体”与“角色”间的区别,从而得到了一个本体中需要实现多个角色的分析结果也是困惑。
DCI中说明了在不同的上下文中本体的角色是可以被替换的,这样本体和角色又再次成为了分隔的独立,互不依赖。如果角色可以在运行时刻被赋予本体,那么AOP、SOA与DCI也建立了关联,同时IOC也成为了将本体组装角色的实践。在各个思想和实践方式中对的内容将共同的被保留和进化,并最终必然的找到契合点。
我认为软件可以理解位自然世界的映射,所有需要软件解决的问题和解决方法必然存在于自然世界中,OO表达了这样的思想。OO是基础和思想的源泉,同时在今后很久(或者***,除非诞生了全新的软件实践方式)都将是我们思想基础。后来者在研究和学习各种名词和思想之前应该认真深入的思考OO,如果在这个步骤上出现了失误和偏差在后面的过程中弥补是需要付出很多代价的。
希望通过本文的介绍,能给你带来帮助。
【编辑推荐】