Skip to content

Latest commit

 

History

History
19 lines (11 loc) · 649 Bytes

File metadata and controls

19 lines (11 loc) · 649 Bytes

How To Design

如何设计一个组件化、可扩展、可配置化的优秀系统,以应对复杂变化的需求

组件创建

  • 组件实例化依靠反射 或者 SPI方式:因为组件本身不知道要实例化哪些东西
  • 组件实例化需要依赖JVM的ClassLoader,一般我们会维护一个类加载器

组件生命周期管理

不同类型的组件具有父子层次关系

  1. 父组件负责子组件的创建、启停和销毁
  2. 事件监听:定义组件的生命周期状态,并把组件的状态转变定义事件和观察者,进而增强扩展性

抽象类+模板方法

常规套路