近几天在老师的推荐下,读了架构漫谈,《架构漫谈》是由资深架构师王概凯 Kevin 执笔的系列专栏,专栏将会以 Kevin 的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。
什么是架构?
软件架构的核心目的,就是解决如何以最少的成本、最低的风险,完成系统的设计、开发和测试工作。
软件架构师:定义和分析系统要解决的问题,制定解决方案和策略,并实施和测试这些方案。
架构师:规划、设计以及管理一个软件系统所需的资源。
在组织中负责对特定领域知识进行整合,并运用该知识对更大范围内的多个目标进行规划。
架构师:负责指导设计项目中其他人员进行开发工作。在软件项目开发过程中,架构师主要负责:1)系统架构;2)项目设计;3)软件开发;4)文档管理。
架构是一系列用以创建和实施软件系统、业务流程及组件等元素的方法或原则。
架构解决谁的问题
架构解决的是人的问题。软件实际上就是把现实生活模拟到计算机中,并且软件是需要在计算机的硬件中运行起来的。要做到这一点需要解决两个问题:1业务问题2.计算机问题。这就是软件比较复杂的地方,涉及到软件本身的业务体系,和所虚拟的业务体系。架构师通过分析和抽象,将各种需求和问题分解成一些可以管理和协调的部分。
如何做好关于架构的切分的问题
架构的切分,在本质上都是对相关人的利益的调整。切分问题的关键是要从全局的角度去看,要从整体上考虑问题,而不是就业务细节去切。
切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。根据前者,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。
如何从架构师的角度写好代码,理清技术、业务与架构的关系
1.不做系统的设计者,而要做架构师
2.架构师不仅仅是用代码去完成任务,更是在设计架构
3.如何画出合理的框架
4.设计时一定要考虑代码的性能问题
5.用数据驱动实现业务逻辑
6.学会运用工具,辅助开发工作
7.不要用一套设计原则去解决所有问题
8.“完美”未必是“正确”的!避免完美主义
9.不要总是按照自己的想法来写程序,有时候按用户的需求来做代码也可以
10.最好的架构是多个程序员一起来完成的!要学会与他人协作、沟通和分享信息
小结
架构师应该承担起解决业务问题的这个角色来,专注于Business Domain和软件本身的架构,让技术人员致力于为业务在计算机中跑起来而努力。只有把这两者很好的结合起来,才能更好地完成业务的目标,才会让软件更好地服务于大家。最终一定会得到一个很好的软件架构,令软件开发团队和业务部门都能够很好地开展工作并降低成本。
标签:读后感,架构,漫谈,问题,切分,软件架构,软件,架构师 From: https://www.cnblogs.com/ysh030330/p/17141207.html