0%

关于架构设计的一些沉淀性思考

前言

近来在找新工作,对上一阶段的项目、技术进行总结时,在架构设计方面有一些总结性沉淀性的简要思考,在此分享一下。

架构设计怎么做

架构设计怎么做?

  • 首先需要明确架构设计的目标是什么。
  • 架构设计的目标在于:提升代码的并行开发效能,提升代码的可维护性、可测试性和可扩展性。
  • 要实现这些目标,我认为我们需要从整体(面)到局部(点)做思考和设计
  • 从整体上,我们需要整理出尽量清晰的业务边界和做好业务发展的预判,遵循SOLID原则做好分层分模块的设计
  • 那如何划分层数和模块?需要明确边界和粒度大小。如何明确?我的经验心得是:匹配组织架构。组织、人、代码,三维一体,人归属组织,代码由人编写,代码最后会反应的是组织的结构,所以如果不匹配,就会导致交叉依赖的问题,或者并行开发效能低下的问题。比如业务发展壮大了,负责某个功能模块的团队一分为二,这时候架构设计方面若不做调整,必然会出现代码交叉依赖的问题。
  • 在完成了整体架构的设计后,则需要从局部入手对具体业务模块或者功能模块进行设计。这时候可使用合适的架构模式(如MVC、MVP、MVVM等)和合适的设计模型(如单例模式、工厂模式、命令模式、中介模式等)去实现具体的目标和解决具体的问题。
  • 需要注意的是:设计模式的本质是解题范式,用于指导解决具体类型场景的问题,在使用时应当按照实际情况因地制宜,切不可生硬地照搬照套、“依葫芦画瓢”。