设计模式
文章平均质量分 80
高飞的Leo
用代码改变世界。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解释器模式和典型应用案例
解释器模式是一种行为设计模式,用于定义一种语言的文法,并提供一个解释器来解释该语言中的句子。它通常用于处理类似脚本语言、正则表达式、数学表达式等需要解析的场景。语言解析:如正则表达式、SQL、模板语言等。表达式计算:如数学表达式、逻辑表达式等。脚本执行:如JavaScript、Python等脚本语言的执行引擎。在框架中,解释器模式通常用于处理复杂的语法解析和动态执行逻辑。通过将文法规则分解为简单的表达式类,解释器模式使得系统更加灵活和可扩展。原创 2025-03-31 19:36:06 · 1011 阅读 · 0 评论 -
命令模式介绍及应用案例
命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,并且支持请求的排队、记录日志、撤销操作等功能。命令模式的核心思想是将“请求”封装成对象,使得请求的发送者和接收者解耦,从而可以灵活地扩展和修改请求的处理逻辑。命令模式在多种编程语言和框架中都有广泛的应用,特别是在需要解耦请求发送者和接收者、支持撤销和重做、或者需要将请求排队执行的场景中。通过将请求封装为对象,命令模式提供了一种灵活且可扩展的方式来处理复杂的操作流程。原创 2025-03-31 19:22:46 · 644 阅读 · 0 评论 -
责任链模式介绍及代码实现
Filter接口:定义了处理请求的方法doFilter,每个过滤器都需要实现这个接口。FilterChain接口:定义了链的执行方法doFilter,负责管理过滤器的执行顺序。DefaultFilterChain类:实现了接口,内部维护了一个过滤器列表,并按顺序执行这些过滤器。具体过滤器:如和,每个过滤器负责处理请求的一部分。责任链模式是一种强大的设计模式,能够有效地解耦请求的发送者与接收者,并提供动态扩展性和职责分离的能力。在。原创 2025-03-27 15:30:10 · 302 阅读 · 0 评论 -
代理模式介绍及典型案例
代理模式是一种非常灵活的设计模式,广泛应用于各种场景中,如远程调用、延迟加载、权限控制等。通过使用代理模式,可以有效地增强系统的功能和灵活性,同时保持原始对象的独立性。原创 2025-03-27 15:00:04 · 403 阅读 · 0 评论 -
享元模式介绍
享元模式通过共享不可变状态优化资源使用,非常适合处理大量相似对象的场景。在框架中,它常见于常量池、连接池、UI 组件复用等场景。使用时需注意状态分离和线程安全。原创 2025-03-27 09:38:48 · 315 阅读 · 0 评论 -
装饰器模式介绍和典型实现
Java I/O 框架通过和的装饰器(如)动态地添加功能,使得 I/O 操作更加灵活和高效。Spring AOP通过切面(Aspect)和通知(Advice)为方法动态地添加额外的功能,如日志记录、事务管理等,使得业务逻辑更加清晰和模块化。MyBatis 框架通过机制为 SQL 执行动态地添加额外的功能,如日志记录、缓存等,使得 SQL 操作更加灵活和可扩展。通过这些经典实现,可以看到装饰器模式在实际应用中的强大之处,它不仅简化了客户端代码,还提高了系统的可维护性和扩展性。原创 2025-03-26 19:36:05 · 876 阅读 · 0 评论 -
组合模式介绍和经典实现
组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表示部分-整体层次结构。通过组合模式,客户端可以一致地处理单个对象和组合对象,无需关心对象的具体类型。这使得代码更加简洁、灵活和可扩展。原创 2025-03-26 19:20:47 · 312 阅读 · 0 评论 -
桥接模式的优点和典型实现
桥接模式通过将抽象部分和实现部分分离,使得两者可以独立变化,从而提高了系统的灵活性和可扩展性。在实际应用中,桥接模式广泛应用于需要动态切换实现或减少类膨胀的场景。分离抽象和实现:提高代码的可维护性和可扩展性。实现细节对客户端透明:提高代码的封装性和模块化。减少代码冗余:通过组合而不是继承,减少代码冗余。动态切换实现:提高系统的灵活性和适应性。在优秀框架中,桥接模式的应用使得这些框架更加灵活和强大,能够适应不同的需求和环境。原创 2025-03-26 19:07:08 · 782 阅读 · 0 评论 -
适配器模式及其典型应用
适配器模式的核心思想是通过创建一个适配器类来转换一个类的接口,使其能够与另一个类的接口兼容。Target(目标接口):定义客户端所需的接口。Adaptee(适配者):已经存在的类,具有不同的接口。Adapter(适配器):通过继承或组合的方式,将适配者的接口转换为目标接口。适配器模式通过创建一个适配器类来转换一个类的接口,使其能够与另一个类的接口兼容。这种模式在实际开发中非常有用,特别是在需要集成不同系统或库时。适配器模式具有提高复用性、增加灵活性和减少依赖等优点。原创 2025-03-26 17:14:04 · 873 阅读 · 0 评论 -
原型模式及其应用
原型模式的核心思想是通过复制现有对象来创建新对象。这种方式可以简化对象的创建过程,特别是在对象的创建过程比较复杂时。Prototype(原型):声明一个克隆自身的接口。ConcretePrototype(具体原型):实现克隆自身的接口,返回一个克隆的对象。Client(客户端):使用原型来创建新的对象。原型模式通过克隆现有对象来创建新对象,具有性能提升、简化对象创建、减少依赖和支持多态性等优点。原创 2025-03-26 17:10:09 · 982 阅读 · 0 评论 -
建造者模式的优点及其在优秀框架中的实现案例
建造者模式通过创建一个产品的构建者对象,逐步构建最终的产品对象。与传统的构造方法不同,建造者模式允许通过对产品的各个部分进行逐步配置,最终生成一个完整的产品。降低耦合度:将对象的构建过程与表示分离。提升灵活性与可扩展性:易于维护和扩展。增强代码可读性:通过链式调用,清晰地表达对象的构建过程。在现代软件开发中,很多优秀框架为了提升代码质量和开发体验,广泛采用建造者模式,这不仅提高了代码的可维护性,也帮助开发者更快速高效地达到设计目标。原创 2025-03-25 20:04:18 · 1056 阅读 · 0 评论 -
抽象工厂设计模式及应用案例
抽象工厂模式提供一个创建对象的接口,但允许子类决定具体要实例化的类。它的主要目的是通过工厂方法隔离具体的类,从而使得系统在扩展时能够更容易地替换组件。抽象工厂模式在软件设计中起着至关重要的作用,能够有效地解耦组件,增加系统的灵活性与可扩展性。Spring 全家桶充分利用了这一设计模式,通过容器和注解机制为开发者提供了一种便捷的方式来管理和使用不同的对象,实现了高内聚和低耦合的设计原则。随着应用的复杂性增加,合理应用抽象工厂模式将使我们的代码更具可维护性和可扩展性,提升开发效率。原创 2025-03-25 19:58:36 · 992 阅读 · 0 评论 -
工厂方法模式
工厂方法模式通过将对象的创建过程封装在工厂类中,实现了客户端代码与具体对象的解耦。原创 2025-03-25 10:19:38 · 1026 阅读 · 0 评论 -
单例模式的经典实现
设计模式在一些依赖包中的经典实现原创 2025-03-24 20:00:45 · 540 阅读 · 0 评论 -
23种设计模式说明
设计模式在一些依赖包中的经典实现原创 2025-03-24 19:58:34 · 119 阅读 · 0 评论
分享