架构-基础概念

系统与子系统

系统是有一群有关联的个体组成,遵循一定的规则运作,完成个别元件不能完成的工作的群体。关键点是关联,规则(规定了个体分工和协作的方式),能力(区别于个体的能力)。

子系统是更大系统的一部分。(比如:微信是一个系统,聊天,支付,朋友圈是其子系统)

比如:朋友圈包含动态,评论,点赞等子系统,评论又包含防刷子系统,审核子系统,发布子系统,存储子系统。

 

模块与组件

两者都是系统的组成部分,只是从不同的维度进行的对系统进行拆分。

模块是从逻辑的角度进行拆分得到的单元,主要目的是实现职责分离。

组件则从物理的角度进行拆分得到的单元,主要目的是单元复用。

以一个网站系统为例,模块部分包括登陆注册模块,个人信息模块,个人成绩模块;组件部分则包括Nginx, Web服务器,Mysql。

 

框架与架构

框架是组件规范,是提供基础功能的产品,关注的是规范。(比如:SpringMVC就是一种开发框架,提供了包括:注解,Spring Security, Spring JPA在内的基础功能)

架构关注的则是结构,可以理解成系统的顶层结构。而结构这个概念从不同的维度有不同的理解。上面所有的概念都可以用架构的概念进行描述,网站系统以下几种说法都是正确的.

  • 从模块的角度讲,架构如下:

 

 

  • 从组件的角度讲,架构如下:

 

 

  • 从开发的角度讲,架构如下:

 

 

posted @ 2018-07-17 22:51  darrenqiao  阅读(140)  评论(0编辑  收藏  举报