重新认识架构 — 不只是软件设计
前言 什么是架构? 通常情况下,人们对架构的认知仅限于在软件工程中的定义:架构主要指软件系统的结构设计,比如常见的SOLID准则、DDD架构。一个良好的软件架构可以帮助团队更有效地进行软件开发,降低维护成本,提高系统的可扩展性和可维护性。这里的架构定义有更多元化的理解:架构不仅是对软件开发设计和流程规范的定义,也包含了参与架构设计的人员、以及项目过程中和架构有关的活动,都可以称为架构。 从广义角度来理解架构,意味着更全面的思考和新的融合。 按这张图理解,架构是指架构师以商业价值为导向、以用户为核心,在所处的商业、文化、技术环境中,利用有限的资源和成本,设计架构方案、组织或参与研发活动,从而达到既定目标的一项复杂且持续的活动。 架构师面对实际问题,在复杂的环境中如何做出正确的选择,如何确保架构活动顺利进行,保障项目落地,可以从目标、资源、行为、趋势这四个层面来梳理。 架构 目标 明确目标:在开始新事物时,可能需要面对各种各样的选择和挑战。在这种情况下,明确具体的目标并非易事。 可实现:目标需要具有可实现性,过高或过低的目标都可能导致挫败感和疲惫。要在充分评估自己能力、资源和环境的基础上,...


