之前团队要开发一个功能,这个功能的执行流程是固定的,但其中某些步骤的具体实现,可能会因为场景不同而有所变化。
我们写代码时,是不是经常遇到一个场景:一个任务,有多种不同的完成方式?比如,给用户数据排序,有时按时间,有时按金额;计算运费,有时按重量,有时按体积;或者像文档...
我们知道在继承中先构造父类再构造子类,那如果我们将基类中的构造函数私有化,派生类中就看不见基类中的构造函数,就不能调用基类中的构造函数,那么派生类就无法实例化出...
状态模式(State Pattern) 就是一种行为设计模式。它解决的核心问题就是:当一个对象的内部状态改变时,它的行为也随之改变,看起来就像是这个对象“变了个...
它的核心思想是定义一种一对多的依赖关系。什么意思呢?就是让多个“观察者”对象同时监听某一个“主题”对象。当这个主题对象的状态发生变化时,它会自动通知所有依赖于它...
在即时通讯系统中,合理使用设计模式能提升代码的维护性和扩展性。本文介绍 AQChat 中工厂模式、策略模式、责任链模式的应用与实践。
备忘录模式是一种行为设计模式,它允许我们在不暴露对象内部实现细节的情况下,捕获并外部化一个对象的内部状态,以便在将来需要时可以将该对象恢复到原先保存的状态。
中介者模式是一种行为设计模式,它通过引入一个专门的中介者对象来封装一组对象之间的交互。
迭代器模式是一种行为设计模式,它让我们能在不暴露集合底层表现形式(如列表、栈、树等)的情况下,顺序访问一个聚合对象中的各个元素。
命令模式是一种行为设计模式,它将一个请求或操作封装成一个独立的对象。这个对象包含了执行该请求所需的所有信息,并通常提供一个统一的执行方法(如 execute()...
责任链模式,是一种行为设计模式。它允许我们将一个请求沿着一条由多个处理器对象组成的链进行传递。链上的每个处理器都有机会处理这个请求,或者将其传递给链中的下一个处...
--这串代码的简化了在使用时要传二级指针,实现了接口的一致性-->传指针本身,不会再混淆什么时候一级,什么时候二级。
接下来,小傅哥给大家分享一个设计模式框架(星球「码农会锁」扳手工程项目),这个框架是小傅哥基于做的非常多的业务项目,提炼出来的通用设计模式组件,可以让非常多的业...
在软件开发的江湖中,“设计模式”是绕不开的内功心法。无论是写出优雅、可维护的代码,还是在面试中征服面试官,对它的掌握程度都至关重要。
在JDK 8中,接口新增了几个重要的特性和方法,其中最显著的是默认方法(Default Methods)和静态方法(Static Methods)。这些特性使得...
代理模式(Proxy Pattern)是一种结构型设计模式,它为我们提供了一个对象的替身或占位符,以控制对这个原始对象的访问。
享元模式是一种结构型设计模式,其核心目标是通过共享对象来高效支持大量细粒度对象,从而显著减少内存消耗,我称之为性能优化型设计模式。
美团 | 大模型后台开发 (已认证)
责任链设计模式是一种行为型设计模式,其主要目的是解耦请求发送者和请求接收者,让多个对象都有机会处理请求。
静态代理中,我们对目标对象的每个方法的增强都是手动完成的(后面会具体演示代码),非常不灵活(比如接口一旦新增加方法,目标对象和代理对象都要进行修改)且麻烦(需要...
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤,这种类型的设计模式属于行为型模式。