美文网首页
java插槽模式(利用反射机制)

java插槽模式(利用反射机制)

作者: Zn_go | 来源:发表于2019-08-20 20:00 被阅读0次

    插槽模式,简而言之就是在即将开发的业务方法流程的某一个位置埋下一个点,未来可以在该位置去添加功能,在该位置添加的功能可以根据需要,随时可以去除去这个功能。
    该模式和spring aop思想有相似的地方,但是该模式可以具体的业务方法的某一个位置,比较注重细节。
    接下来,编写相关demo

    1. ZNservice
    /**
     * 业务类
     */
    public class ZNservice {
    
        private PublicService publicService = new PublicService();
    
        public boolean add() throws Exception{
    
            //检测数据
            System.out.println("检测数据");
            // 埋点
            System.out.println(publicService.registered("com.zn.demo.znstudy.ZNserviceImpl-empty"));
    
            //组装数据
            System.out.println("组装数据");
    
            //插入数据库
            System.out.println("插入数据");
    
            return true;
        }
    
    }
    

    2.PublicService

    public class PublicService {
    
    
        // 注册业务方法
        public boolean registered(String str) throws Exception {
            // 获取类名与方法
            String[] strList = str.split("-");
            String className = strList[0];
            String methodName = strList[1];
            // 获取类实例
            Class<?> serviceClass = Class.forName(className);
            Object instance = serviceClass.newInstance();
            // 获取类方法
            Method method = serviceClass.getMethod(methodName, new Class[]{});
            // 运行方法
            method.invoke(instance, new Class[]{});
    
            return true;
        }
    }
    

    3.ZNserviceImpl
    public class ZNserviceImpl {

    public void empty(User user){
        System.out.println(user.getId());
        System.out.println("数据检测中");
    }
    
    public void fun(User user){
        System.out.println(user.getId());
        System.out.println("shu");
    }
    

    }

    运行结果:


    结果

    相关文章

      网友评论

          本文标题:java插槽模式(利用反射机制)

          本文链接:https://www.haomeiwen.com/subject/ijsmsctx.html