博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件体系结构C2风格
阅读量:6707 次
发布时间:2019-06-25

本文共 838 字,大约阅读时间需要 2 分钟。

首先C2风格是最常用的一种软件体系结构风格。(下图为一个C2风格的架构图)

    C2是一种基于构件和消息的风格,可用于创建灵活的、可伸缩的软件系统。一个C2构架可以看成是按照一定规则由连接件连接的许多组件组成的层次网络:系统中的构件和连接件都有一个“顶部”和“底部”;一个构件的“顶部”或“底部”可以连接到一个连接件的“底部”或“顶部”;对于一个连接件,和其相连的构件或连接件的数量没有限制,但是构件和构件之间不能直接相连。

    C2风格具有以下特点: (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;  (3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设

    C2架构风格最重要的特性就是“底层无关性”,这在构件的可替代性和可重用性方面具有显著的作用;另外,C2架构引入了“事件转化”的概念,域解释器把构件的请求转化为接收方能够接收的特定形式,同时也把通知转化为该构件能够理解的形式。

    我们要设计的是一个教务点名软件,其中分为3方,学生、教师、以及教务。每方之前可以互相通信,比如学生可以给教师留言、教务可以给学生通知等等。每一方又有不同的功能。根据我们的设计,C2架构风格对我们的软件并不适用。C2架构风格可以概括为:通过连接件绑定在一起的并行构件网络。系统中必须要有构件和连接件。对我们的系统来说,构件和连接件不好确定。我觉得C2更适合那种分工明确的软件,每个构件有具体的分工。而且我们设计的系统3方之间可以相互通信,如果我们把教师、学生、教务封装成3个构件 按照C2的风格,这3方之间无法直接连接,必须通过连接件,所以有多少互动的功能就要设计多少连接件,造成系统复杂度提升。所以我觉得我们的软件不太适合C2风格。

转载于:https://www.cnblogs.com/lym0816/p/5423123.html

你可能感兴趣的文章
我的友情链接
查看>>
jplayer播放插件
查看>>
telnet localhost 25
查看>>
51次课(设置更改root密码、连接mysql、mysql常用命令)
查看>>
设置logcat中log颜色
查看>>
我的友情链接
查看>>
centos中时间修改后重启后无效的问题解决办法
查看>>
【iOS-Cocos2d游戏开发之十三】CCSprite利用Bezier(贝塞尔)做抛物线动作并让CCSprite同时播放两个Action动作!...
查看>>
2. 使用指针操作数组
查看>>
innodb_flush_log_at_trx_commit理解
查看>>
DHCP安装授权
查看>>
7个关于网络方面的面试问题和答案
查看>>
关于ibatis 的 like的诡异问题
查看>>
我的友情链接
查看>>
zabbix安装配置
查看>>
K8s Ingress 模式简介及示例
查看>>
Hubs & Repeaters
查看>>
选择http协议还是tcp协议
查看>>
我的友情链接
查看>>
SNBannerView 无限循环滚动轮播图 集成简单 高效
查看>>