EES框架 BLL层代码组织与介绍2010-12-24 博客园 光影传说BLL层,我个人感觉是与通用的NH/IB OR映射差异比较大的地方,处于承上启 下的位置。承上:可以与打交道,起到了DAL的作用。启下:可以与BP层/Stub层/或客户端直接打交道,作为其服务层。public class UserImp<T> : BLService<T> where T : EESObject, new () { [Operation(ScopeOption.Disabled)] public virtual T FindById(String code) { return base.FindId(code); } [Operation(ScopeOption.Disabled)] public virtual DataCollection<T> FindByName(string name) { Where clause = new Where(); clause.Add("Name", name); return base.Find(clause); }
[Action("保存", "保存")] [Operation(ScopeOption.Required)] public override T Save(T t) { return base.Save(t); } }BLService<T> 为业务层的基类,主要提供增删改查的功能。默认状态 下,基类的服务是不公开的,需要在此类里面公开。Operation为事务自定义属性,通常在此处添加,也可以在配置文件里添加。查询,也是此OR的一个特色,对于客户端和服务端的处理雷同,但不相同, 服务器端可以使用 WhereEx ,支持拼接字符串和其他等特殊处理。在处理自定 义查询的时候非常方便。Action自定义属性,为动作标注,在生成Controller的时候,会自动生成。[EESBO("User")] public class UserService : UserImp<User> { [Operation(ScopeOption.Required)] public virtual EESContext Login(string userId, string salt) { ……… } [Operation(ScopeOption.Required)] [Action("密码复位")] public virtual User ResetPwd(User user) { ……… } }