
设计模式
文章平均质量分 57
翔云123456
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
依赖注入(Dependency Injection, DI)的核心概念和解决的核心问题
如果多个类都需要同一个依赖项(比如一个数据库连接池或日志服务),并且各自负责创建它,会导致创建逻辑重复,难以统一管理和配置。当依赖关系变得复杂(如依赖依赖的依赖)时,手动管理对象的创建顺序、作用域(单例、请求作用域等)和销毁变得异常繁琐且容易出错。如上所述,紧耦合使得单元测试(孤立地测试一个单元)变得非常困难。使用容器后,创建对象的复杂性(对象图的构建)就完全交给了容器管理。一个),而是由外部(“注入器”)把依赖的东西“喂”给它。在实际的大型项目中,手动管理所有的依赖注入(像上面。里那样)会变得非常繁琐。原创 2025-06-28 16:04:51 · 863 阅读 · 0 评论 -
设计模式--建造者模式(Builder Pattern)
建造者模式(Builder Pattern)是一种创建型设计模式,它提供了一种构建对象的最佳方式。建造者模式将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。原创 2024-03-24 10:37:05 · 617 阅读 · 0 评论 -
设计模式--访问者模式(Visitor Pattern)
访问者模式(Visitor Pattern)是一种行为型设计模式,它可以让你在不改变类的情况下,增加作用于一组对象上的新操作。原创 2024-03-17 20:10:23 · 770 阅读 · 0 评论 -
设计模式--享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)是一种结构型设计模式,它的主要目的是用共享技术有效地支持大量细粒度的对象。原创 2024-03-13 19:43:39 · 658 阅读 · 0 评论 -
设计模式--装饰器模式(Decorator Pattern)
装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你在运行时动态地将行为添加到对象中。在装饰器模式中,这些新的行为通常对应于添加的责任。Decorator是抽象装饰类,它维护了一个对组件对象的引用,并定义了一个与组件接口一致的接口。ConcreteDecorator是具体装饰类,它在装饰类的基础上增加了新的行为。在这个例子中,Component是抽象组件,定义了一个operation接口。通过这种方式,我们可以动态地给对象添加新的行为,而不需要修改原始类的代码。原创 2024-03-08 22:30:00 · 752 阅读 · 0 评论 -
设计模式--组合模式(Composite Pattern)
组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构,并且能像使用独立对象一样使用它们。原创 2024-02-21 22:51:25 · 1003 阅读 · 0 评论 -
设计模式--职责链模式(Chain of Responsibility Pattern)
职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。原创 2024-02-16 16:17:42 · 995 阅读 · 0 评论 -
设计模式--策略模式(Strategy Pattern)
策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户端。原创 2024-02-14 10:10:19 · 859 阅读 · 0 评论 -
设计模式--桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern)是一种结构型设计模式,它主要是用于将抽象部分与实现部分分离,使它们可以独立地变化。原创 2024-02-11 21:47:12 · 1298 阅读 · 0 评论 -
设计模式--观察者模式(Observer Pattern)
观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。原创 2023-12-03 12:07:31 · 444 阅读 · 0 评论 -
设计模式--Command模式
命令模式(Command Pattern)是一种行为设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。在这个例子中,Command是抽象命令类,定义了一个execute接口。通过这种方式,我们可以将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Invoker是调用者类,它要求命令执行一个请求,也就是调用命令的execute接口。原创 2023-11-11 20:31:15 · 531 阅读 · 0 评论