《架构漫谈》读后感
在王老师的推荐下阅读了王概凯的架构漫谈。
1.什么是架构:
架构是指系统的基本组织结构或设计框架,包括系统的各种组件、它们之间的相互关系以及对外部环境的接口。在软件开发中,架构定义了软件系统的整体结构,包括软件的分层、模块化、组件化等方面,以及系统中各个部分的职责和交互方式。
2.认识概念是理解架构的基础:
理解架构的基础在于对相关概念的认识,如系统的组成部分、其相互作用、系统的目标和需求等。此外,还需要理解软件开发中常见的架构模式和设计原则,如MVC、MVVM、分层架构、微服务架构等,以及它们在不同场景下的应用和优缺点。
3.如何做好架构之识别问题:
识别问题是指在软件开发过程中识别和理解系统需求、业务场景以及可能出现的技术挑战。为了做好架构,需要从多个维度去识别问题,包括功能需求、性能需求、安全需求、可扩展性需求等。这可以通过与利益相关者的沟通和需求分析、技术调研以及原型设计等方式来实现。
4.如何做好架构之架构区分:
架构区分是指在设计软件系统架构时,将系统划分为不同的模块或层次,明确各个模块之间的职责和关系。这可以通过采用分层、模块化、组件化等设计原则来实现。在进行架构区分时,需要考虑到系统的复杂性、灵活性、可维护性等因素,以及系统未来可能的演变和扩展。
5.什么是软件:
软件是指由计算机程序和相关数据组成的计算机系统中的非硬件部分。它是指导计算机执行特定任务的一系列指令和数据。软件可以分为系统软件和应用软件两大类,系统软件是控制和管理计算机硬件和其他软件资源的程序,如操作系统、数据库管理系统等;应用软件是为特定任务或领域开发的程序,如办公软件、游戏软件、生产工具等。
6.不要空设架构师这个职位,给他实权:
架构师是负责制定软件系统架构设计的专业人员,他们需要在软件开发过程中参与需求分析、架构设计、技术选型、代码审查等工作。为了确保架构师的实权,需要赋予他们决策权和执行权,让他们在项目中发挥领导和指导作用,并为他们提供相应的资源和支持。
7.从架构的角度看如何写好代码:
从架构的角度看,写好代码意味着要符合系统架构的设计原则和规范,包括模块化、低耦合、高内聚、可扩展性、可维护性等。此外,还需要遵循良好的编码风格和规范,注重代码的可读性、可测试性和性能优化。写好的代码应当能够清晰地表达系统的逻辑结构和业务流程,便于后续的维护和扩展。
8.理清技术、业务和架构的关系:
技术、业务和架构是软件开发中三个密切相关的方面。技术是指用于实现软件系统的具体技术手段和工具,包括编程语言、框架、库等;业务是指软件系统所要解决的实际问题或需求,包括业务流程、业务规则、业务逻辑等;架构是指系统的整体设计结构和组织方式,包括系统的分层、模块化、组件化等。在软件开发过程中,需要理清这三者之间的关系,确保技术选择和架构设计能够有效地支持业务需求,并满足系统的功能、性能、安全等