脱离业务的架构就是耍流氓。架构师必须要深入理解需求、参入需求、看透需求背后的业务本质。
任何看似复杂的设计,都是让整个系统变的更简单
架构设计
“很多程序员学了大量的算法和计算机基础,然而在工作上却派不上用场。这是非常正常的,因为这些内容为了在科学领域研究准备的。而在业务领域,大多数是如何把现有业务在软件上模拟出来的问题,并没有太高深的数学问题。并且现在的计算机硬件,比如cpu、内存、存储都很便宜,也不需要斤斤计较的去扣空间和时间复杂度。这些都导致所学不能致用。反而如何能够高效的把业务用软件表达出来,并能够随着业务的增长,让软件也快速长大,则变成了一个更重要的问题。这一点可能是当前计算机软件教育需要思考的问题。“--《聊聊架构》
1、架构设计主要产出
-
《整体技术方案设计》文档
-
学会如何写技术方案设计(很多人可能一次没写过技术方案,上来就写代码,这其实很不好)
2、主要内容
-
分析需求,确定需要创建的项目(业务复杂,需要多个项目)
-
搭建独立的业务组件库
-
自研”自定义事件统计“服务
-
作品的数据结构设计
-
写《技术方案设计》文档
3、注意📢事项
-
不要关注细节,要看👁整体,看范围
-
考虑扩展性(这就需要深入理解业务,否则你也不知道未来将如何扩展)
-
考虑可行性,不确定的就调研一下
-
考虑实现成本,不要为了设计而设计,技术要永远服务于业务--永远都要选择最简单的实现方案