首页 > 其他 > 详细

ServiceLoad 应用(统一执行某一类功能、、分支语句优化)

时间:2017-02-11 19:03:28      阅读:280      评论:0      收藏:0      [点我收藏+]

周计划安排;“工作日(周一到周五):去工作;周六:锻炼身体;周日:休息;”

若用代码完成上述内容该怎么做?

技术分享

这样吗?很显然是可以实现。但是这样不是个好的实现方式。。。。。。

接下来介绍另外一种实现方式:


/**
* 周计划 接口
*/
public interface WeeksPlan {
/**
* 获取哪一天
*
* @return
*/
Day getDay();

void doTing();

public enum Day {
WORK,//工作日
STA,//周六
SUN//周日
}
}
/**
* 工作日.
*/
public class WorkingDays implements WeeksPlan {
@Override
public Day getDay() {
//工作日
return Day.WORK;
}

@Override
public void doTing() {
System.out.println("上班 ing。。。。");
}
}

/**
* 周六 健身
*/
public class Saturday implements WeeksPlan {

@Override
public Day getDay() {
//周六
return Day.STA;
}

@Override
public void doTing() {
System.out.println("健身 。。。");
}
}
/**
* 周日休息
*/
public class Sunday implements WeeksPlan {

@Override
public Day getDay() {
//周日
return Day.SUN;
}

@Override
public void doTing() {
System.out.println("休息 。。。");
}
}

增加配置文件:

技术分享

 

调用:

package my.plan;

import java.util.ServiceLoader;

/**
* 执行计划
*/
public class ExecutePlan {

public static void main(String[] args) {
exe();
}

private static void exe() {
//周计划
ServiceLoader<WeeksPlan> weeksPlans = ServiceLoader.load(WeeksPlan.class);
for (WeeksPlan plan : weeksPlans) {
System.out.println(plan.getDay());
plan.doTing();
}

}
}

 

ServiceLoad 应用(统一执行某一类功能、、分支语句优化)

原文:http://www.cnblogs.com/fish-in-sky/p/6389496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!