系统架构设计

50 阅读2分钟

系统架构设计

常见的系统架构

  1. mvp
  2. mvvm
  3. mvc
  4. 洋葱架构(整洁架构)
  5. DDD(领域驱动设计)架构
  6. 六边形架构(端口-适配器架构)

依赖的规则

越稳定越难修改的模块应该被放在越内层,而越易变越可能发生修改的模块应该被放在越外层

核心思想

通过封装变化的方式,可以把系统中稳定不变的部分和容易变化的部分隔离开来。在系统的演变过程中,只需要替换或者修改那些容易变化的部分,如果这些部分是已经封装好的,替换起来也相对容易。这可以最大程度地保证程序的稳定性。

好处

面向抽象编程有2个最大好处。

一方面,面向抽象编程可以将系统中经常变化的部分封装在抽象里,保持核心模块的稳定。

另一方面,面向抽象编程可以让核心模块开发者从非核心模块的实现细节中解放出来,将这些非核心模块的实现细节留在后期或者留给其他人。

设计模式

工厂模式(包括简单工厂模式、工厂方法模式、抽象工厂模式), 是一种非常常见的设计模式。

通过工厂模式, 我们将“需要创建一个对象”这个抽象行为,和“去创建具体某个对象动作“分开。 消费者只需要关心“需要创建一个对象”这个抽象行为就可以了, 具体要创建哪个对象, 如何去创建这个对象, 被我们留在工厂里, 可以在其他时机, 或者由其他开发者去实现.

如果对象的创建过程比较简单,这时候用简单工厂模式就足够了。但如果并行的对象很多,导致了产生了很多if、else语句,而且对象的创建过程相当复杂,会导致简单工厂内部膨胀,那我们这时候可以选择引入工厂方法模式。工厂方法模式也是有缺点的,它会导致系统存在很多平行的工厂类,增加类膨胀的可能性。