软件架构可以根据不同的标准和关注点进行细分。以下是一些常见的细分方法:
分层架构
表现层:负责用户界面和用户互动。
业务层:实现业务逻辑。
持久层:提供数据,通常包括SQL语句。
数据库层:保存数据。
事件驱动架构
事件队列:接收事件的入口。
分发器:将不同的事件分发到不同的业务逻辑单元。
事件通道:分发器与处理器之间的联系渠道。
事件处理器:实现业务逻辑,处理完成后会发出事件,触发下一步操作。
微核架构
也称为插件架构,软件的内核相对较小,主要功能和业务逻辑都通过插件实现。
逻辑架构
描述软件系统中各个元件之间的关系,例如外部系统接口、用户界面、商业逻辑元件、数据库等。
物理架构
描述如何在硬件中放置软件元件,例如分布式系统的物理架构,包括主机、整合服务器、应用服务器、代理服务器、存储服务器、报表服务器、Web服务器、网络分流器等。
系统架构
关注系统的性能、强壮性、可扩展性、灵活性、可靠性等非功能性特征。
业务架构
相当于战略指导,涉及业务规划、业务模块和流程,对系统业务进行拆分,设计领域模型,将实际业务转化为抽象对象。
应用架构
类似于战术执行,从硬件到应用的抽象过程,涵盖了抽象层和编程接口。应用架构与业务架构是互补的,业务架构的每个部分都对应着一个应用架构。
技术架构
则是实施的工具,负责实现业务架构,并影响技术的选择和应用。
代码架构
关注代码的组织结构、模块化和设计模式等。
部署架构
描述软件的部署方式、环境和配置等。
这些细分方法可以帮助开发团队根据具体项目的需求和特点,选择合适的架构模式,从而提高软件的质量、可维护性和可扩展性。