您的位置:首页 > 运维架构 > 网站架构

连载14:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)

2018-06-27 08:37 465 查看

公理化的怀疑

我常常反问自己,为什么认为“置换”作为基本的元素进行研究呢?其实这么多年都是谈到的{抽象;具体}这一对方式来表达软件设计的,为什么还要“标新立异”用“置换”,这一个更加底层的映射关系来进行描述呢?我想主要是基于下面的几个方面的原因:

抽象和具体的方式目前还无法具有一个准确的概念,在百科中是这样描述抽象的:

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。要抽象,就必须进行比较,没有比较就无法找到在本质上共同的部分。共同特征是指那些能把一类事物与他类事物区分开来的特征,这些具有区分作用的特征又称本质特征。因此抽取事物的共同特征就是抽取事物的本质特征,舍弃非本质的特征。所以抽象的过程也是一个裁剪的过程。在抽象时,同与不同,决定于从什么角度上来抽象。抽象的角度取决于分析问题的目的。

抽象和具体的方式表征一个复合概念,目前其具体的表现形式是一个非常笼统的操作动作,而不是一个原子形式的操作。同时“置换”是建立在具有集合论上的原则操作,能够给出一个简单能够加以证明的概念,即使“置换”的概念有误,其也能够通过列举反例来证明其伪,而这正是一个科学化的处理方式(希望将来软件计算能够越来越脱离这种无法通过求证的模棱两可而形成的概念来支撑整个科学体系,因为无法证伪,所以就潜藏巨大的危机和错误)。

抽象和具体可以使用“置换”概念的一些特殊化的映射来表达,

 抽象和具体只体现在层次中的上下之间的处理,而相对于水平方向上的一些“置换”关系,其无法进行表达(例如值和地址之间的“置换”关系,接口等的置换关系),而这些处理需要通过“置换”来进行统一。

“置换”可以更加方便有效进行公理化处理,通过数学的方法来研究软件设计的处理,而抽象和具体所处的层次目前无法通过数学模型化的过程的表达(希望将来能够达到这个目标)。

 将“置换”作为研究对象可以更加便于研究,虽然这不太符合大家的思维习惯,不过这样定义才能够更加严谨,才能将之作为逻辑推理的基础,在数学中关系定位为序偶的集合也是基于这方面的考虑。

上面就是我将置换置于公理化的一个过程,可能会招来一大群吐槽的同行的声讨,当然,我能够坦然应对所有的质疑声,因为从分析的角度来说,具有一个公理的假设,然后在此假设之上经过严格的论证和演绎,才是一个严格意义的系统,就如同五大公理构成欧几里得几何,光速不变假设形成狭义相对论理论一样,对于软件设计来说,能够更好的发展这门学科。如果我的所谓“理论”有严重的问题,我想可能是我对“置换”作为公理的假设可能不合适,可能还具有更加有效、准确的假设,如果有更能经受严格的经过实证的新定义作为公理,我是非常感激不尽的,因为软件设计是一门科学,不是依赖某几个人,而是依赖于成千上万人在之上进行不断论证,不断实践,不断发展。能为这个大厦添砖加瓦,难道不感到高兴吗?

在数学上,对于一个公理系统来说,存在一些无法通过本公理系统判断是否正确或者错误的命题,也就是说,任何一个公理系统都是具有局限性的,置换公理化后也同样如此。所以置换公理不能包含一切,就算其能够正确深刻反映软件设计的本质原理,也是在不同范围、不同领域、不同时空中的合理性。

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐