试试用jdk8的Function函数来写模版模式吧

jdk8的Function函数是真的香,把方法分装成参数进行传递,凭借这个特性来代替原来写模版方法的方式.(只兼容jdk8以上版本)
原来我们为了抽象出具体执行方法而写模版方法,首先要定义一个接口

public interface TestTemplate {

    Object process(Object object);

}

在去写调用模版方法的代码

public class Test {
    public void runTemplate(TestTemplate testTemplate){
        testTemplate.process(new Object());
    }
}

最后在调用此代码的方法中调用这个方法同时 在去实现具体实现代码

 public void testRun(){
        runTemplate(new TestTemplate() {
            @Override
            public Object process(Object object) {
                // your code
                return null;
            }
        });
    }

其实已经实现了目的,接口了具体实现,抽象了行为,但是你要定义一个接口类进去,有人会说写一个公用的不就可以了,但是我认为往往在团队开发不好去传达开发规范的时候五花八门的类就一个个蹦出来了,此时此刻的代码就是一个字 淦

下面是Function函数的实现,我们不用定义接口类而是入参变为Function函数

 public void runTemplate(Function function){
        function.apply(null);
    }

这时候调用方具体方法逻辑实现代码:

    public void testRun(){
        runTemplate(new Function() {
            @Override
            public Object apply(Object o) {
                //your code
                return null;
            }
        });
    }

是不是很香 而且转化为lamda表达式的代码更简洁

   public void testRun(){
        runTemplate(o -> {
            //your code
            return null;
        });
    }

java很冗余,团队开发很不好完全规范,我还是想传递给别人的匠心的思想,如果不行我也只能守候我自己的那一片净土

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值