编程总结

在一个完整的业务流程中,业务层对数据层的调用应该集中在一点。

较混乱的调用关系(图):

较混乱的调用关系(代码):

public class ACtrl{
        public ADTO actionA(){
            ADAO db = new ADAO();
            ADTO msg = ....;
            AService aService = new AService(db);
            
            return aService.serviceA(msg);
} }
public class ABaseService{ protected void filterA(ADTO msg) { if(msg.getPropA() > 20){ String reslut = db.findBy(msg.getPropA(), msg.getPropB()); msg.setReslut(reslut); }else{ msg.setPropZ("Z"); } }
protected ADAO db; public ABaseService(ADAO db) { this.db = db; } } public class AService extends ABaseService{ public ADTO serviceA(ADTO msg) { filterA(msg); produceA(msg); return msg; } private void produceA(ADTO msg) { if(msg.getReslut() == null){ db.findBy( msg.getPropC()); } } public AService(ADAO db) { super(db); } } public class ADAO{ public String findBy(int a, float b) { return "ABC"; } public float findBy(String c) { return 33.33F; } }

较清晰的调用关系(图):

原文地址:https://www.cnblogs.com/tao_/p/3012913.html