中国开发网: 论坛: 程序员情感CBD: 贴子 622417
sealw
[晒代码] 我说:“要有路!”于是就有了一些路
设计考虑:

1.业务类宜设计成类,不宜设计成接口,这样我们可以往里面放静态方法,提供对该类所有实例的操作。Peter Coad说,我们之所以不把所有的东西设计成接口,是因为那么做不经济。

2.将静态方法或动态方法的实现代理给另外的Service,这样业务类以及支持它的Service形成了一个组件,业务类成为这个组件的Facade。

3.业务类对支持它的Service采取即用即取的原则,也就是不用内部字段来保持对Service的引用。Service可以看成是一些更小的组件。这样可以利用OSGi这样的动态组件架构,在不停止应用程序运行的情况下,更换服务。


public class Road {

public static final int NO_VELOCITY_BECAUSE_INVALID_SEQUENCE = -1;
public static final double KILOGRAM_PER_HOUR_FACTOR = 3.6;
public static final int REASONABLE_HIGHEST_SPEED = 50;

public static Set<Integer> listCells() {
return Factory.getInstance().getInstance(RoadService.class).listCells();
}

public static Set<Integer> listLacs() {
return Factory.getInstance().getInstance(RoadService.class).listLacs();
}

public static List<Road> listRoads() {
return Factory.getInstance().getInstance(RoadService.class).listRoads();
}


private String name;
private List<Integer> cells = new ArrayList<Integer>();
private List<Integer> lacs = new ArrayList<Integer>();
private List<Integer> distances = new ArrayList<Integer>();
private int referrenceMinutes;

//实例方法略
}

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录