首页 > 其他 > 详细

设计模式之委派模式

时间:2021-04-30 10:08:46      阅读:20      评论:0      收藏:0      [点我收藏+]

委派模式

  1. 委派模式结构图:

    技术分享图片

  2. 示例代码:

    // 抽象任务类
    public interface Task {
    
        void doTask();
    }
    
    // 具体任务角色A
    public class ConcreteTaskA implements Task{
        @Override
        public void doTask() {
            System.out.println("具体任务类A执行任务======");
        }
    }
    
    // 具体任务角色B
    public class ConcreteTaskB implements Task{
        @Override
        public void doTask() {
            System.out.println("具体任务类B执行任务======");
        }
    }
    
    // 委派者角色
    public class Delegate implements Task{
        @Override
        public void doTask() {
            System.out.println("开始执行任务:");
            Task task = null;
            if (new Random().nextBoolean()){
                task = new ConcreteTaskA();
            }else {
                task = new ConcreteTaskB();
            }
            task.doTask();
        }
    }
    
    // 测试
    public class DelegateTest {
    
        public static void main(String[] args) {
            Delegate delegate = new Delegate();
            for (int i = 0; i < 10; i++) {
                delegate.doTask();
            }
        }
    }
    
    
  3. 总结:

    优点:能够将一个大型任务细化,然后通过统一管理这些子任务的完成情况实现任务的跟进,加快任务的执行效率;

    缺点:需要根据任务的复杂程度进行不同的改变,在任务比较复杂的情况下,可能需要进行多重委派,容易造成紊乱.

设计模式之委派模式

原文:https://www.cnblogs.com/wqlken/p/14720075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!