MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 大家来讨论下业务层(BO)该做什么事?该怎样做事?该

大家来讨论下业务层(BO)该做什么事?该怎样做事?该怎么解决(2)

www.MyException.Cn  网友分享于:2013-01-29  浏览:129次

BO业务层,处理业务的流程的


BO又调用DAO层,DAO直接与数据库进行访问。。。
------解决方案--------------------
up
------解决方案--------------------
D=Data
B=Business

data是天然的,孤立的
Business是逻辑的,是处理关系的

所以,如果没有逻辑可处理,也确实无需BO,
技术只是手段,需要我们合理利用。


----------

具体问题,你说的Bo的login返回boolean信息少,
可以为UserBo增加方法返回详细信息:

Java code

//Dao 类
public class UserDao {
    public User findUserByName(String username){
        return new User(username, "password");
    }

        public boolean addUser(User user){
        // do something...
        return true;
    }
} 


//Bo 类

public class UserBo {
    private UserDao dao = new UserDao();
    
    public boolean login(UserDao user){
        User u = dao.findUserByName(username);
        if( u != null && u.getPassword().equals(password)){
            return true;
        }
        errMsg="登录失败原因在这里。";
        return false;
    }

    public String getErrorMsg(){
        return errMsg;
    }
    public boolean addUser(User user){
        return dao.addUser(user);
    }
}

------解决方案--------------------
dao是操作数据的最小原子,bo是多个原子的统一调用。没有bo的话如何实现事务,如何进行事务嵌套,如何进行代码复用

至于登陆参数返回值可使用exception方式或传统的错误定义 用int做为返回值 方式 0 为成功 定义大于0 的或者小于0的为失败方式,
同时对应错误代码表
0 成功
1 用户不存在
2 密码错误
.....

后一种方式可降低错误提示信息与代码的耦合度,方便修改
------解决方案--------------------
探讨
D=Data
B=Business

data是天然的,孤立的
Business是逻辑的,是处理关系的

所以,如果没有逻辑可处理,也确实无需BO,
技术只是手段,需要我们合理利用。


----------

具体问题,你说的Bo的login返回boolean信息少,
可以为UserBo增加方法返回详细信息:


Java code
//Dao 类
public class UserDao {
public User findUserByName(String username){
return new User(use…

------解决方案--------------------
业务层做除去交互的操作部分的功能部分

------解决方案--------------------
你可以自己另写一个方法,然后自己判断可能出现在各种异常..根据异常类型来返回不同的错误信息..

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有