架构学习-general
1. 架构Intro
- 架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现。
1.1 架构世界的历史背景
- 机器语言
- 01书写
- 难读,难写,难改
- 汇编语言
- 用地址符号或标号代替指令或操作数的地址
- 面向机器的语言,不够友好
- 高级语言
- Fortran 公式翻译器
- LISP 枚举处理器
- Cobol 通用商业导向语言
2. 概念梳理
2.1 系统与子系统
系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体
- 系统
- 关联:相互之间有关联
- 规则:按照指定的规则运作
- 能力:产生了新的个体不具备的能力
- 子系统
- 更大系统的一部分
划分系统的时候一般是按照业务系统来划分的,可能一个子系统里面会有服务层,数据层,blabla.
2.2 模块与组件
模块
- 互相有紧密关联的软件组织
- 程序和数据结构两部分
- 模块作为合成的单位
- 模块的接口表达了由该模块提供的功能和调用它所需的元素
- 模块是可以分开来编写的单位
组件
- 自包含的,可编程的,可重用的与语言无关的软件单元
Summary
- 模块和组件都是系统的组成部分,只是从不同角度来拆分了系统
- 逻辑角度拆分系统,得到的就是模块;划分模块的主要目的是职责分离
- 划分组件的主要目的是单元复用
E.G
- 一个信息管理系统,逻辑角度,可以划分成登录注册模块,个人信息模块,个人成绩模块
- 物理角度,Nginx,Web服务器,Mysql
2.3 框架与架构
- 框架
- 为了实现某个业界标准或完成特定的基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范锁要求的基础功能的软件产品
- 框架是组件规范 - MVC MVVM J2EE
- 提供基础功能的产品
- 面向编程或配置的半成品
架构指软件系统的基础结构,创造这些基础结构的准则以及对这些结构的描述
- 软件架构指软件系统的顶层结构
- 系统是一群关联个体组成,可以使子系统,模块,组件等
- 系统中的个体需要根据某种规则运作
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 stone2paul@gmail.com
文章标题:架构学习-general
文章字数:662
本文作者:Leilei Chen
发布时间:2020-02-04, 11:58:33
最后更新:2020-02-04, 11:59:05
原始链接:https://www.llchen60.com/%E6%9E%B6%E6%9E%84%E5%AD%A6%E4%B9%A0-general/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。