码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之委派模式

时间:2021-04-30 12:30:39      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:int   不同   test   class   需要   dom   image   角色   总结   

委派模式

  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. 总结:

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

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

设计模式之委派模式

标签:int   不同   test   class   需要   dom   image   角色   总结   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!