03 2022 档案
摘要:1、 架构设计时,需要将软件的高层业务逻辑与底层的技术实现(如UI、数据库、I/O操作等)隔离开来。前者较为稳定,后者容易变化。在设计阶段,应尽量多地考虑高层的业务逻辑,将涉及技术实现的决策尽量向后推移。 2、 系统应按照用例来划分成不同模块,因为不同的用例在未来往往有不同的变更时间和变更原因。系统
阅读全文
摘要:什么是架构设计 1、 有别于硬件技术的高速发展,软件的架构设计乃至程序开发,在过去50年内并没有质的变化。 2、 架构设计的核心,是追求软件的可维护性、可扩展性,以便使软件在未来能较为方便地升级改造,以适应未来业务的发展变化,使得软件整个生命周期的总成本(TCO)最小。 3、 需求分析和架构设计的差
阅读全文
摘要:背景:跑起来和跑的稳定,是两种代码。代码质量和软件设计是相辅相成的,先说软件设计; 通常来说,要想构建一个好的软件系统,应该从写整洁的代码开始做起。毕竟,如果建筑所使用的砖头质量不佳,那么架构所能起到的作用也会很有限。反之亦然,如果建筑的架构设计不佳,那么其所用的砖头质量再好也没有用。这就是SOLI
阅读全文
摘要:架构演进: 1.单体 2.集群 3.微服务 一、应用服务器扩展 【垂直】按业务维度将一个应用拆分为多个应用 【水平】分布式应用集群二、数据库扩展(Sharding) 【垂直】按业务维度将数据库拆分为多个数据库 【水平】一张表拆成多个表分散在不同数据库中。三、NoSQL、缓存、消息队列、全文搜索、分布
阅读全文
摘要:Spring Boot Starter 和 ABP Module的相同之处: 1.它整合了这个模块需要的依赖库;2.提供对模块的配置项给使用者;3.提供自动配置类对模块内的Bean(组件)进行自动装配;4.它有效的降低了项目开发过程的复杂程度,对于简化开发操作有着非常好的效果;
阅读全文