置换的规范和度量

所以这里可以看出置换具有统一的“可替换”属性,在第二章描述的多重继承体、包含体、包容体、以及函数对象等多个结构中其置换都具有可互联的特征,比如多重继承就是将继承置换可以通过一条链进行下去,而包含体和包容体结构则是通过继承和组合两种置换轮流进行置换,而函数对象则通过函数和类重载两种置换方式形成,所以,可以看出这些置换都是互联并且是相容的,这就表示这些置换在逻辑意义上是统一的,能够通过设置其逻辑类型来统一进行描述。

如果我们能够将这些置换进行合理的统一,当规范了不同置换下的共同点,那么我们就可以计算这些置换,也就是能够对一个软件系统中的置换进行度量,比如在一个接口中,其每一个虚函数都表示一个置换点,将这些置换点进行统计计数,其值越大,就表示其接口的置换的度量值越大,其置换的能力就越大。此时置换的度量就是我们常常称为的“势”。

当然,当前的置换如何进行规范,以及如何进行度量目前我还想的不是太明白,只是觉得如果能够进行度量,那么软件设计会真正的进入到数学模型化的时代,能够使用“量”之间的关系来衡量一个软件系统是否合理,以及其他更多更好的指导软件系统开发的结论和衡量标准,这些都是让人神往的地方。

文章标签

转载于:https://blog.51cto.com/13832308/2132744

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

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

    信息熵观点 针对软件设计来说,我们可以将所有的设计通过结构化来表达,于是我们的所有的设计信息都可以表达成结构熵的处理.那么如果系统的结构熵越大,系统就越不稳定,系统的有序化就越小. 那么是否结构化就表 ...

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

    线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...

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

    线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...

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

    件设计公理化 软件设计公理化  现在是一个知识过剩的时代,培养独立思考的能力远比盲目看书更重要.                                                     ...

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

    置换的群特征 我们先来看看在计算机设计中最基本的三个置换,一个是从值到地址的置换方式,我们称为值-地址置换,一个是从地址到值的置换,我们称为地址-值置换.当然如果再加上对其值赋值为其他值操作或者对地址 ...

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

    统一化 打破了这种集合关系,那么我们需要重新整理一下我们的思路,这些特征到底是什么关系呢?感觉有点乱. 不过没有关系,我们先跳出面向对象的原有的思维方式,我们先从计算机的最基本的处理来看,在计算机里面 ...

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

    统一化 打破了这种集合关系,那么我们需要重新整理一下我们的思路,这些特征到底是什么关系呢?感觉有点乱. 不过没有关系,我们先跳出面向对象的原有的思维方式,我们先从计算机的最基本的处理来看,在计算机里面 ...

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

    置换公理化的缺陷 虽然我浓墨重彩阐述了"置换"公理化作为软件设计中的种种优势,然而对于公理化过程来说,其本身的缺陷也是显而易见的. 首先需要明确的是:方法不是唯一的,公理化方法是处 ...

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

    最小生成树 生成树: 如果连通图G的一个子图是一棵包含G的所有顶点的树,则该子图称为G的生成树. 生成树是连通图的包含图中的所有顶点的极小连通子图. 图的生成树不惟一.从不同的顶点出发进行遍历,可以得 ...

最新文章

  1. IE浏览器Cookie信息提取工具Galleta
  2. python 3.5opencv 环境搭建_Python3.5+openCv进行人脸识别的环境搭建(Windows下)
  3. Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
  4. python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法
  5. ORA-01092解决一例
  6. bzoj 2916: [Poi1997]Monochromatic Triangles(推理)
  7. GrideView(三)---编辑功能实现
  8. Futter基础第12篇: 实现TabController定义顶部tab切换,并介绍生命周期函数
  9. python基础之字符串类型
  10. 人人都能懂的Vue源码系列—08—initLifecycle
  11. vscode 更改中办发文_如何在Visual Studio代码或VSCode中更改集成终端
  12. 网页版bpc电波对时_bpc电波对时app下载
  13. centos7 elasticsearch 安装启动问题
  14. 彻底卸载CAD或者其他任何软件、删除注册表的神奇-YourUninstallerPortable.exe
  15. 编写程序,统计某旅馆住宿客人的总数,要求输入客人姓名,输出客人编号(按先后顺序自动生成),姓名以及总人数。...
  16. hexo博客中插入图片失败——解决思路及个人最终解决办法
  17. 设计模式-业务代表模式-个人思考
  18. idea中的jar包在哪里导入?
  19. 魔百和CM311-1a_CH_S905L3A_安卓9.0_纯净线刷固件包
  20. python刷题大杂烩

热门文章

  1. 1295. 统计位数为偶数的数字
  2. Python 字符串转字典(多种方法)
  3. Python fire官方文档教学(自动生成命令行,个人觉得意义不大,不如argparse)
  4. golang日志输出
  5. warning:deprecated conversion from string constant to 'char *' 解决方案
  6. 栈应用:中缀表达式转后缀表达式
  7. JAVA中整数类型数据溢出问题研究
  8. C++11范围for循环
  9. 通过ping命令查看服务器是linux还是windows系列
  10. 动画原理——用户交互:移动物体