Skip to content

Latest commit

 

History

History
37 lines (20 loc) · 1000 Bytes

File metadata and controls

37 lines (20 loc) · 1000 Bytes

工厂模式

如何判断是否使用工厂模式

封装变化

创建逻辑可能变化,封装成工厂类后,创建逻辑的变更对调用者透明。

代码复用

创建代码抽离到独立的工厂类之后可以复用。

隔离复杂性

封装复杂的创建逻辑,调用者无需了解如何创建对象。

控制复杂度

将创建代码抽离出来,让原本的函数或者类职责更单一,代码更简洁。

DI容器

最基本的设计模式就是基于工厂模式。
一个工厂类只负责某一类对象或者某一组对象(继承同一抽象类或者同一接口类)的创建,而DI容器负责的是整个应用中所有类对象的创建。

核心功能

配置解析

对象创建

涉及工厂模式,利用反射创建对象,利用递归解决依赖问题。

如何解决循环依赖问题

构造器方式,无法解决,就抛出异常。

对象生命周期管理