架构一词源于建筑学,那就借鉴建筑的概念理一理架构。
首先想要盖一座大厦,我们需要先盖好基础毛坯房,建立好基础设施,(卫生间,电梯,楼梯,监控室,部署好强电线路,弱电线路,暖通空调等),这些是 所有大楼大厦的必须配套设施,在软件产品中就对应着软件系统的(缓存模块,数据库访问模块,权限模块,通用公共方法,通用错误处理)所有软件系统都需要的基本模块,有了基础设施,我们就可以在此基础上按照我们的意愿装饰使用整个大厦了,比如作为写字楼,作为商场,作为娱乐场所。系统也是,有了基础模块我们就可以在此基础上实现我们业务模块了。
当然,不同的大楼对于不同的用途,在基础设施上可能有些不同的侧重点,软件基础架构也是如此。