架构理论心得
在进行架构设计之前,首先需要进行需求分析,从而通过所获取的需求条件进行架构设计。
一. 需求分析
理解和挖掘用户诉求以及背后逻辑,从而转化成可行性的分析结果。
分析需求背后的人性,从需求的边界,用户故事以及用户路径对需求进行深入解析与理解。
需求落地路径:需求分析->可行性分析->设计->编码->测试->发布
二. 架构设计原则
1. KISS 原则
Keep It Simple and Smile
2. DRY 原则
DRY原则,Don’t Repeat Yourself
三. 设计原则
学习设计原则,学习设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原则,我们要考虑人力、时间、成本、质量,不是刻意追求完美,要在适当的场景遵循设计原则,体现的是一种平衡取舍,帮助我们设计出更加优雅的代码结构。
简单介绍一下七大设计原则:
开闭原则:是所有面向对象设计的核心,对扩展开放,对修改关闭
依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体
单一职责原则:一个接口只负责一件事情,只能有一个原因导致类变化
接口隔离原则:使用多个专门的接口,而不是使用一个总接口
迪米特法则(最少知道原则):只和朋友交流(成员变量、方法输入输出参数),不和陌生人说话,控制好访问修饰符
里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能
合成复用原则:尽量使用对象组合(has-a)/聚合(contanis-a),而不是继承关系达到软件复用的目的
四. 什么是“架构”
架构的目的在于确定系统边界,确定系统里各模块之间的依赖关系与模块的宏观输入与输出以及明确非功能性需求。
五、架构图分类
在从一个初级程序员到架构师的修炼过程中,画架构图是一门必修功课。
我最开始画图的时候,一直搞不清楚该画什么样的图来表达,网上也找不到系统的资料。
架构图是一个统称,按视角维度,可分为:业务架构、技术架构、系统架构、应用架构