001 什么是架构

2018-11-29  本文已影响2人  猿笔记

系统与子系统

模块与组件

无法区分的根本原因:模块和组件都是系统的组成部分,只是从不同的角度拆分系统而已。

例如:假设我们要做一个学生信息管理系统
从逻辑的角度来拆分:可以分为“登录注册模块”“个人信息模块”“个人成绩模块”
从物理的角度来拆分:可以拆分为 Nginx、Web 服务器、MySQL

框架与架构

样例:
(1)从业务逻辑的角度分解,“学生管理系统”的架构是:

(2)从物理部署的角度分解,“学生管理系统”的架构是:


(3)从开发规范的角度分解,“学生管理系统”可以采用标准的 MVC 框架来开发:


重新定义架构

软件架构:指软件系统的顶层结构
首先:架构需要明确系统包含哪些“个体”
其次:架构需要明确个体运作和协作的规则
最后:采用“顶层结构”,可以更好地区分系统和子系统,避免将系统架构和子系统架构混淆在一起导致架构层次混乱

上一篇 下一篇

猜你喜欢

热点阅读