栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

好的设计方法例子设计方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

好的设计方法例子设计方法

package 好用设计1;
@FunctionalInterface
public interface CallBackInterface {
    void handler(int playerId, String data) throws Exception;
}

package 好用设计1;

public class ChoiceMethod {

    public static CallBackInterface CALL_1 = ((playerId, data) -> {
        System.out.println("print playerId : " + playerId + " , data: " + data +" , call 1");
    });

    public static CallBackInterface CALL_2 = ((playerId, data) -> {
        System.out.println("print playerId : " + playerId + " , data: " + data +" , call 2");
    });
}
package 好用设计1;

public interface Consumer {
    void before(int playerId, String str);
    void handler(int playerId, String str)throws Exception;
    void after(int playerId, String str);
}

package 好用设计1;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class RunningMain {


    private static final Map _consumers =
            Collections.synchronizedMap(new HashMap());

    public static void main(String[] args) throws Exception {

        RunningMain runningMain = new RunningMain();
        runningMain.handlerDelivery(consumerFromDeliverCancelCallbacks(ChoiceMethod.CALL_1), 1, "zhangsan");
        runningMain.handlerDelivery(consumerFromDeliverCancelCallbacks(ChoiceMethod.CALL_2), 2, "wangwu");

    }



    public void handlerDelivery(final Consumer delegate, int playerId, String str) throws Exception {
        delegate.before(playerId, str);
        delegate.handler(playerId, str);
        delegate.after(playerId, str);
    }



    public static Consumer consumerFromDeliverCancelCallbacks(final CallBackInterface deliverCallback){
        return new Consumer(){
            @Override
            public void before(int playerId, String str){

            }
            @Override
            public void handler(int playerId, String str) throws Exception{
                deliverCallback.handler(playerId, str);
            }

            @Override
            public void after(int playerId, String str){

            }
        };
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/282433.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号