复杂系统的规范形式
2016-04-06 13:21
162 查看
复杂系统的规范形式:
对于复杂系统,往往不止包含单一的层次结构,相反,在同一复杂系统中通常表现出许多不同的层次结构,例如:3
层结构,我们一般把企业应用分为:表示层,业务层,持久层。这种分解代表了结构上或“组成部分”的层次结构。又
例如:我们也可以把系统分为很多“模块”,如用户登录,权限认证,其他功能……
另外,我们还可以换一种“是一种(is a)”的层次分解方式来分解我们的系统。例如:大众车是一种具体的德国车,德
国车又是一种具体的车。德国车代表了所有德国制造的车的共同特性的抽象,而大众车只是一种特殊类型的德国车的
代表,它有些特有的特征,可以和德国其他车区分开来。
从这两种观点来看待我们的系统都很重要,应既研究它的“是一种”层次结构,也要研究“组成部分”层次结构。通常这两
种层次结构分别称为“类结构”和“对象结构”。
这里的“类结构”和“对象结构”,并不是指在编写软件时创建的类和对象。而是指的是更高抽象层的类和对象。它们组成
了复杂的系统,如:各大子系统,不同的子系统组成了我们的复杂系统,然而单个子系统也是一个系统。可以回顾下
复杂系统属性中的关于“相对本原”的描述,选择什么是基础组件跟观察者有关。
复杂软件系统还包含其他类型的层次结构,其中最重要的是模块结构,它描述了系统物理组件之间的关系,以及处理
层次结构,它描述了系统的动态组件之间的关系。对于层次结构而言,都是分层的,在许多基础类和对象之上构建了
许多抽象类和对象。选择哪些类和对象作为基础类和对象,这与要解决的问题有关。深入到具体的每个层次,你又会
看到另一层的复杂性。
将类结构和对象结构的概念与复杂系统的5中属性(层次结构,相对本原,分离关注,模式和稳定的中间形式)结合
起来,会发现,基本上的所有的复杂系统都具有相同的形式,我们将系统的类结构和对象结构统称为它的“架构”。
需要注意的是,类结构和对象结构并不是完全独立的。它们是一种相辅相成的存在。在设计时,一定要考虑两种结构
和复杂系统的5中属性。
对于复杂系统,往往不止包含单一的层次结构,相反,在同一复杂系统中通常表现出许多不同的层次结构,例如:3
层结构,我们一般把企业应用分为:表示层,业务层,持久层。这种分解代表了结构上或“组成部分”的层次结构。又
例如:我们也可以把系统分为很多“模块”,如用户登录,权限认证,其他功能……
另外,我们还可以换一种“是一种(is a)”的层次分解方式来分解我们的系统。例如:大众车是一种具体的德国车,德
国车又是一种具体的车。德国车代表了所有德国制造的车的共同特性的抽象,而大众车只是一种特殊类型的德国车的
代表,它有些特有的特征,可以和德国其他车区分开来。
从这两种观点来看待我们的系统都很重要,应既研究它的“是一种”层次结构,也要研究“组成部分”层次结构。通常这两
种层次结构分别称为“类结构”和“对象结构”。
这里的“类结构”和“对象结构”,并不是指在编写软件时创建的类和对象。而是指的是更高抽象层的类和对象。它们组成
了复杂的系统,如:各大子系统,不同的子系统组成了我们的复杂系统,然而单个子系统也是一个系统。可以回顾下
复杂系统属性中的关于“相对本原”的描述,选择什么是基础组件跟观察者有关。
复杂软件系统还包含其他类型的层次结构,其中最重要的是模块结构,它描述了系统物理组件之间的关系,以及处理
层次结构,它描述了系统的动态组件之间的关系。对于层次结构而言,都是分层的,在许多基础类和对象之上构建了
许多抽象类和对象。选择哪些类和对象作为基础类和对象,这与要解决的问题有关。深入到具体的每个层次,你又会
看到另一层的复杂性。
将类结构和对象结构的概念与复杂系统的5中属性(层次结构,相对本原,分离关注,模式和稳定的中间形式)结合
起来,会发现,基本上的所有的复杂系统都具有相同的形式,我们将系统的类结构和对象结构统称为它的“架构”。
需要注意的是,类结构和对象结构并不是完全独立的。它们是一种相辅相成的存在。在设计时,一定要考虑两种结构
和复杂系统的5中属性。
相关文章推荐
- 用xutils3.0来访问 spring boot,带权限验证
- String.format() 字符串的格式化
- CreateUDPServer
- Android5.0.1源码编译,android5.1.1源码编译遇到的编译错误如何解决?
- Cocos2dx项目--动作类游戏内存优化--Spine结构分析1
- 结对程序编程-四则运算
- 40.leetcode题目:
- 自定义注解Annocation
- 定制窗口标题
- #pragma once与#ifndef两种防止头文件二次编译的区别
- 1209:Catch That Cow(bfs)
- SVN状态详解
- 分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Erlang入门
- leetcode——7—— Reverse Integer可仿溢出
- Cocos2dx项目--动作类游戏内存优化--Spine结构分析
- h5-8 canvas
- XP系统如何设置关机自动清理垃圾?XP系统关机自动清理垃圾的设置方法
- js中json字符串对象互转的例子