代码设计:设计模式:委托模式

文章目录

定义

委托,指的是调用被依赖的类的方法

类A依赖类B,一般都是A调用B的方法,但委托是B调用A的方法

类结构

委托接口

委托接口可以是独立接口,也可以是被委托类中的内部接口

定义抽象的委托方法

被委托者类

封装一个具体的方法,用于实现某个功能

创建一个委托接口的对象,调用具体的方法

持有一个委托者对象,把委托者接口对象注入委托者对象中

委托者类

持有一个委托接口对象,调用委托方法,即调用被委托者的具体的方法

类之间的关系

被委托者依赖委托者,但委托者调用被委托者的方法,这就是依赖反转(依赖注入)

代码实例

委托接口

委托接口可以是独立接口,也可以是被委托类中的内部接口

复制代码
public interface Delegation {

    void delegate()
}

被委托类和委托接口

复制代码
public class Deleagted {


    private Delegator delegator;

    public void method(){
        
        delegator.setDelegation(new Delegation() {

            public void delegate() {

                Delegated.this.doSomething();
            }
        })
    }

    public void doSomething() {

        ... ...
    }
}

​​​​​​​委托者类

复制代码
public class Delegator {

    private Delegation delegation;

    public void setDelegation(Delegation delegation) {

        this.delegation = delegation;
    }

    public void doSomething() {

        ... ...
        delegation.delegate();
        ... ...
    }
}

总结

被委托者依赖委托者,但委托者调用被委托者的方法,这就是依赖反转(依赖注入)

相关推荐
geovindu几秒前
python: Monitor Pattern
开发语言·python·设计模式·监控模式
workflower13 分钟前
人工智能全球治理
大数据·人工智能·设计模式·机器人·动态规划
workflower14 分钟前
AI灵活高效的智慧用能核心场景
大数据·人工智能·设计模式·机器人·动态规划
雪碧聊技术1 小时前
什么是生成器模式?一文详解
设计模式·生成器模式
geovindu2 小时前
go: Monitor Pattern
开发语言·后端·设计模式·golang·监控模式
雪度娃娃3 小时前
行为型设计模式——命令模式
c++·设计模式·命令模式
Geometry Fu3 小时前
《设计模式》2026编程作业汇总
java·c++·设计模式
踩着两条虫12 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
蜡笔小马1 天前
11.设计模式实战:从创建型到结构型的全面解析
设计模式
蜡笔小马1 天前
09.C++设计模式-外观模式
c++·设计模式·外观模式