博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当为业务逻辑层(BLL,Service)提供基类之后,程序变得了更加面向对象了
阅读量:6319 次
发布时间:2019-06-22

本文共 981 字,大约阅读时间需要 3 分钟。

     /// <summary> 

    /// 业务层抽象基类 
    /// </summary> 
    public abstract class ServiceBase 
    { 
        /// <summary> 
        /// 通用消息 
        /// </summary> 
        protected VMessage VMessage { get; set; } 
        /// <summary> 
        /// 数据层统一操作对象实例 
        /// 避免派生类直接new对象 
        /// </summary> 
        /// <typeparam name="TEntity"></typeparam> 
        /// <returns></returns> 
        protected IRepository<TEntity> LoadRepository<TEntity>() where TEntity : class,Entity.IEntity 
        { 
            return new Repository<TEntity>(); 
        }

    }

子类在完成一个业务功能时,就变成了这样:

public Entity.VMessage AddCommon_BasePropValue(Common_BasePropValue entity) 

        { 
            VMessage = new Entity.VMessage(); 
            try 
            { 
                if (Base.LoadRepository<Common_BasePropValue>().GetModel().Where(i => i.Name == entity.Name).Count() > 0) 
                { 
                    VMessage.IsComplete = false; 
                    VMessage.AddItem("名称重复"); 
                } 
                else 
                { 
                    base.LoadRepository<Common_BasePropValue>().Insert(entity); 
                    VMessage.IsComplete = true; 
                } 
            } 
            catch (Exception ex) 
            { 
                VMessage.AddItem(ex.Message); 
             } 
            return VMessage; 
        }

这样不需要在具体业务类中生成新对象,直接使用基类的方法就可以了,结构清晰,操作统一性好。

本文转自博客园张占岭(仓储大叔)的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>
DataWorks:任务未运行自助排查
查看>>
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>
centos 7.4 使用 pgxc_ctl 安装与使用
查看>>
Redis 单key值过大 优化方式
查看>>
【数据库】表分区
查看>>
nutz-sqltpl 1.3.4.RELEASE 发布,在 Nutz 项目中“解决 Java 拼接 SQL”问题
查看>>
城市 | 800个地铁站数据透析的京沪白领图鉴:隐形土豪、无产中产阶级和猪猪女孩...
查看>>
前端脚本!网站图片素材中文转英文
查看>>
linux的常用易忘命令
查看>>
PHP 分割字符串
查看>>
java 基于QRCode、zxing 的二维码生成与解析
查看>>
img垂直水平居中与div
查看>>
防恶意注册的思考
查看>>
C# 命名空间
查看>>
订餐系统之同步美团商家订单
查看>>
使用ArrayList时设置初始容量的重要性
查看>>
Java Web-----JSP与Servlet(一)
查看>>