浅谈系统架构

发布时间:2020-09-23 12:03:06 作者:mybabe0312
来源:网络 阅读:280

“架构”一词对程序员来说是再常见不过的词了,一提到架构绝大部分的技术人员都会有一种不可企及、十分高大上的感觉,其实架构就在我们身边,是我们看得到摸的着的东西。

我们先看看几个概念,系统与子系统,模块与组件,框架与架构的关系和区别。

系统与子系统

系统是由一群有关联的个体按照指定的规则运作,从而能完成个别元件不能单独完成的工作的整体。例如:汽车与发动机、轮胎等元件的关系。
子系统也是一个系统,他与系统的定义是一致的,只是观察的角度不同,一个系统可能是更大系统的一个子系统。

模块与组件

模块和组件都是系统的组成部分,只是从不同角度拆分系统而已; 从逻辑的角度来拆分就是“模块”,从物理的角度拆分后就是“组件”; 划分模块的主要目的是职责分离,划分“组件”的目的是单元复用。

框架与架构

框架(Framework)关注的是规范与功能产品,例如MVC规范与SpringMVC这个MVC的开发框架;架构(Architecture)关注的是“结构”,他是系统的顶层结构。

总结:系统根据业务或功能划分为各个模块,某些模块可能又被升级为了子系统;模块中可能使用了很多组件来实现某些具体功能;同时,也可能使用了某些框架来作为开发的基础,而架构则描述了各个子系统或模块间如何协调工作。

为什么要做架构

**架构设计的主要目的是为了解决软件系统复杂度带来的问题**

那么系统的复杂度主要来源于哪些方面呢?其主要来源与以下几个方面
1)高性能
2)高可用
3)可扩展性
4)低成本
5)安全
6)规模
也就是说结构设计是为了解决某些关键的问题而存在,并不是每个系统都需要进行架构设计的。

在做架构设计的时候不能贪大而全,而是要遵循几个简单的原则
1)合适原则:合适优于业界领先
没有那么多人,却想干那么多人的活,是失败的第一个主要原因;没有那么多积累却想一步登天,是失败的第二个主要原因;没有那额卓越的业务场景,却幻想灵光一闪成为天才,是失败的第三个主要原因。

2)简单原则:简单优于复杂
结构的简单,逻辑的简单

3)演化原则:演化优于一步到位
对于建筑来说,永恒是主题;而对于软件来说,变化才是主题。

推荐阅读:
  1. 大数据系统架构怎么理解
  2. Camera系统架构

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

软件 架构

上一篇:python中的as是关键字吗

下一篇:树莓派如何运行python程序

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》