连载08:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
置换的规范和度量
所以这里可以看出置换具有统一的“可替换”属性,在第二章描述的多重继承体、包含体、包容体、以及函数对象等多个结构中其置换都具有可互联的特征,比如多重继承就是将继承置换可以通过一条链进行下去,而包含体和包容体结构则是通过继承和组合两种置换轮流进行置换,而函数对象则通过函数和类重载两种置换方式形成,所以,可以看出这些置换都是互联并且是相容的,这就表示这些置换在逻辑意义上是统一的,能够通过设置其逻辑类型来统一进行描述。
如果我们能够将这些置换进行合理的统一,当规范了不同置换下的共同点,那么我们就可以计算这些置换,也就是能够对一个软件系统中的置换进行度量,比如在一个接口中,其每一个虚函数都表示一个置换点,将这些置换点进行统计计数,其值越大,就表示其接口的置换的度量值越大,其置换的能力就越大。此时置换的度量就是我们常常称为的“势”。
当然,当前的置换如何进行规范,以及如何进行度量目前我还想的不是太明白,只是觉得如果能够进行度量,那么软件设计会真正的进入到数学模型化的时代,能够使用“量”之间的关系来衡量一个软件系统是否合理,以及其他更多更好的指导软件系统开发的结论和衡量标准,这些都是让人神往的地方。
文章标签
转载于:https://blog.51cto.com/13832308/2132744
连载08:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...相关推荐
- 连载12:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
信息熵观点 针对软件设计来说,我们可以将所有的设计通过结构化来表达,于是我们的所有的设计信息都可以表达成结构熵的处理.那么如果系统的结构熵越大,系统就越不稳定,系统的有序化就越小. 那么是否结构化就表 ...
- 连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...
- 连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...
- 连载01:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
件设计公理化 软件设计公理化 现在是一个知识过剩的时代,培养独立思考的能力远比盲目看书更重要. ...
- 连载13:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
置换的群特征 我们先来看看在计算机设计中最基本的三个置换,一个是从值到地址的置换方式,我们称为值-地址置换,一个是从地址到值的置换,我们称为地址-值置换.当然如果再加上对其值赋值为其他值操作或者对地址 ...
- 连载03:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
统一化 打破了这种集合关系,那么我们需要重新整理一下我们的思路,这些特征到底是什么关系呢?感觉有点乱. 不过没有关系,我们先跳出面向对象的原有的思维方式,我们先从计算机的最基本的处理来看,在计算机里面 ...
- 连载03:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
统一化 打破了这种集合关系,那么我们需要重新整理一下我们的思路,这些特征到底是什么关系呢?感觉有点乱. 不过没有关系,我们先跳出面向对象的原有的思维方式,我们先从计算机的最基本的处理来看,在计算机里面 ...
- 连载17:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
置换公理化的缺陷 虽然我浓墨重彩阐述了"置换"公理化作为软件设计中的种种优势,然而对于公理化过程来说,其本身的缺陷也是显而易见的. 首先需要明确的是:方法不是唯一的,公理化方法是处 ...
- 连载26:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)
最小生成树 生成树: 如果连通图G的一个子图是一棵包含G的所有顶点的树,则该子图称为G的生成树. 生成树是连通图的包含图中的所有顶点的极小连通子图. 图的生成树不惟一.从不同的顶点出发进行遍历,可以得 ...
最新文章
- IE浏览器Cookie信息提取工具Galleta
- python 3.5opencv 环境搭建_Python3.5+openCv进行人脸识别的环境搭建(Windows下)
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
- python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法
- ORA-01092解决一例
- bzoj 2916: [Poi1997]Monochromatic Triangles(推理)
- GrideView(三)---编辑功能实现
- Futter基础第12篇: 实现TabController定义顶部tab切换,并介绍生命周期函数
- python基础之字符串类型
- 人人都能懂的Vue源码系列—08—initLifecycle
- vscode 更改中办发文_如何在Visual Studio代码或VSCode中更改集成终端
- 网页版bpc电波对时_bpc电波对时app下载
- centos7 elasticsearch 安装启动问题
- 彻底卸载CAD或者其他任何软件、删除注册表的神奇-YourUninstallerPortable.exe
- 编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。...
- hexo博客中插入图片失败——解决思路及个人最终解决办法
- 设计模式-业务代表模式-个人思考
- idea中的jar包在哪里导入?
- 魔百和CM311-1a_CH_S905L3A_安卓9.0_纯净线刷固件包
- python刷题大杂烩