DIEA
我记着if else和switch case语句都可以用命令模式来重构interface dao{ crdu() ;}class ConcreteDao implements dao{ crdu(){...} ;}class Service{ private Dao dao ; public void set(Dao dao){} public void service(){dao.service();}}class ServiceControl{ private HashMap map ; private Service service ; public ServiceControl() { //读xml表初始化标识与dao的对应 } public void service(int flag) { //根据flag来选择不同的dao注入到service中 Dao dao = map.get(flag) ; service.set(dao) ; service.service() ; }}然后control层直接嗲用servicecontrol就可以了, 这样control层就和dao解耦了, 两边的修改互不影响, 通过xml进行协调