中文
[1天-1CS] 单件模式

[1天-1CS] 单件模式

1CS 单例模式一天快速回顾

什么是设计模式?

设计程序时遇到问题

→ 利用对象之间的相互关系等创建一个约定来解决它。

单例模式

  • 一个类 = 一个实例

  • 我们可以为每个类创建多个独立的实例,但我们不会这样做,我们只使用一个实例

  • 通常用于 DB 模块

  • 生产力 ↑,依赖性 ↓

单例模式的缺点

  • 在 TDD(测试驱动开发)过程中进行单元测试时可能出现问题

由于单例模式的高度依赖性,很难为每个测试创建一个独立实例

依赖注入

  • 解决单例模式模块间耦合性强的缺点的一种方法

  • 主模块不直接向其他子模块提供依赖关系,而是通过依赖关系注入器(解耦)间接注入依赖关系。

优点

更容易替换模块、更容易测试和迁移、依赖关系方向一致、更容易推理应用程序、关系清晰等。

缺点

模块的解耦程度更高 → 由于类的数量增加,运行时的惩罚增加了复杂性

依赖注入原则

  • 父模块不从子模块导入任何内容

  • 两者都必须依赖抽象 + 抽象不依赖细节

댓글 작성

게시글에 대한 의견을 남겨 주세요.

댓글 0