Review interview questions - common design patterns - delegation mode

interface:

package com.ajax.pattern.delegate;

interface Tool {
    void work();
}

achieve:

package com.ajax.pattern.delegate;

public class Broom implements Tool {
    @Override
    public void work() {
        System.out.println("扫把");
    }
}
package com.ajax.pattern.delegate;

public class Mop implements Tool {
    @Override
    public void work() {
        System.out.println("拖把扫地");
    }
}

He was assigned by:

package com.ajax.pattern.delegate;

import java.util.Calendar;

public class Delegate implements Tool {
    @Override
    public void work() {
        Tool p = Calendar.getInstance().get(Calendar.HOUR_OF_DAY) <= 12 ? new Mop() : new Broom();
        p.work();
    }
}

run:

package com.ajax.pattern.delegate;

public class Run {
    public static void main(String[] args) {
        new Delegate().work();
    }
}

Guess you like

Origin www.cnblogs.com/caizhiqin/p/11290611.html