zoukankan      html  css  js  c++  java
  • 当为业务逻辑层(BLL,Service)提供基类之后,程序变得了更加面向对象了

         /// <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;
            }

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

  • 相关阅读:
    作为Web开发人员,我为什么喜欢Google Chrome浏览器
    PostgreSQL数据类型
    Postgres 9.11 网络地址类型函数和操作符
    失败如何助你升入最高管理层
    你真的会用Gson吗?Gson使用指南(2)
    你真的会用Gson吗?Gson使用指南(1)
    软件开发的一些"心法"
    Json解析教程(四.FastJson 的使用)
    JSON数据之使用Fastjson进行解析(一)
    alibaba fastjson常见问题FAQ
  • 原文地址:https://www.cnblogs.com/lori/p/2268433.html
Copyright © 2011-2022 走看看