委托设计模式简介

欣喜 Java经验 发布时间:2025-03-05 11:15:14 阅读数:2353 1
下文笔者讲述委托设计模式的简介说明,如下所示

委托设计模式简介

委托设置模式(Delegation Setting Pattern)是一种设计模式,
常用于简化对象的配置过程。
在这种模式中
  一个对象(称为委托者)
  将某些职责或功能委托给另一个辅助对象(称为委托对象)
  这种方式可以提高代码的可维护性和灵活性

委托设置模式的主要特点

1.职责分离:
   通过将特定职责从主类中分离出来,使得主类更加简洁和专注。
2.易于扩展:
   可以通过替换或添加不同的委托对象来改变或扩展功能。
3.复用性:
  委托对象可以在不同的场景中复用,提高代码的复用性。

委托设计模式示例

有一个 `Printer` 类
 它可以打印文本
  假如想支持不同的打印格式(如纯文本、HTML等)
  
我们可以使用委托设置模式 

1.定义接口
 首先定义一个 `PrintStrategy` 接口,所有的打印策略都必须实现这个接口。
 
public interface PrintStrategy {
    void print(String text);
}
 
2.实现具体的打印策略

然后实现几种具体的打印策略。

public class PlainTextPrintStrategy implements PrintStrategy {
    @Override
    public void print(String text) {
        System.out.println("Plain Text: " + text);
    }
}

public class HtmlPrintStrategy implements PrintStrategy {
    @Override
    public void print(String text) {
        System.out.println("<html><body>" + text + "</body></html>");
    }
}
 
3.创建委托者类

创建一个`Printer` 类
 它包含一个 `PrintStrategy` 对象
  并将其职责委托给该对象。
 
public class Printer {
    private PrintStrategy printStrategy;

    public void setPrintStrategy(PrintStrategy printStrategy) {
        this.printStrategy = printStrategy;
    }

    public void print(String text) {
        if (printStrategy != null) {
            printStrategy.print(text);
        } else {
            System.out.println("No print strategy set.");
        }
    }
}

例:使用不同的打印策略,实现不同的打印效果

public class Main {
    public static void main(String[] args) {
        Printer printer = new Printer();

        // 设置为纯文本打印策略
        printer.setPrintStrategy(new PlainTextPrintStrategy());
        printer.print("Hello, World!");

        // 设置为HTML打印策略
        printer.setPrintStrategy(new HtmlPrintStrategy());
        printer.print("Hello, World!");
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202503/17411672568360.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者