日期:2014-05-18  浏览次数:20716 次

bll应该怎样做 望高手解惑
bll应该做业务逻辑和验证输入等,如果输入验证失败,错误信息要怎样返回比较傲好呢?抛出异常,还是返回字符串,还是返回数字……?
还有权限在bll里要怎样做?

------解决方案--------------------
这个要看你自己的编写习惯了,字符串,数字,bool 都可以
------解决方案--------------------

异常:要记录,写LOG日志;然后跳转固定提示页面;

返回值:True / False
------解决方案--------------------
BLL层的对输入参数的验证,抛出自定义异常,
比如:

if(param[0].value=="")throw new MyException(param[0].ValidateErrMsg);
或者:
if(param[0].value=="")throw new ArgumentException(param[0].ValidateErrMsg);

也可以封装一下:
MyHelper.Assert(param[0].value!="",param[0].ValidateErrMsg);

------解决方案--------------------
权限不就是判断咯
ture就去,false就不去
------解决方案--------------------
无论是页面级的权限,还是控件级的权限,
都应该是通用的,应用程序无关的
------解决方案--------------------
给用户什么样的友好信息,是界面层应该考虑的事情。如果你在设计BLL接口时去纠结于讨论界面设计,这就搞错了职责了。
------解决方案--------------------
如果一定要考虑很细,那么界面层的设计要给BLL设计者提出需求,比如应该抛出什么类型的Exception(子类),自己好捕获和包装一下错误信息。反之,如果BLL设计者没有得到这个需求,那么它就按照普通的编程惯例,是什么异常就抛出什么异常。
------解决方案--------------------
探讨
哪权限呢?
不同权限的用户登录可用的模块也不同 这个在bll里怎样做
现在我做的都是在ui里进行判断的