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

文章目录

定义

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

类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();
        ... ...
    }
}

总结

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

相关推荐
捕鲸叉3 小时前
C++软件设计模式之外观(Facade)模式
c++·设计模式·外观模式
小小小妮子~4 小时前
框架专题:设计模式
设计模式·框架
先睡4 小时前
MySQL的架构设计和设计模式
数据库·mysql·设计模式
Damon_X12 小时前
桥接模式(Bridge Pattern)
设计模式·桥接模式
越甲八千16 小时前
重温设计模式--享元模式
设计模式·享元模式
码农爱java18 小时前
设计模式--抽象工厂模式【创建型模式】
java·设计模式·面试·抽象工厂模式·原理·23种设计模式·java 设计模式
越甲八千18 小时前
重温设计模式--中介者模式
windows·设计模式·中介者模式
犬余18 小时前
设计模式之桥接模式:抽象与实现之间的分离艺术
笔记·学习·设计模式·桥接模式
Theodore_102220 小时前
1 软件工程——概述
java·开发语言·算法·设计模式·java-ee·软件工程·个人开发
越甲八千21 小时前
重拾设计模式--组合模式
设计模式·组合模式