当为业务逻辑层(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; 
        }

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

本文转自博客园张占岭(仓储大叔)的博客,原文链接:当为业务逻辑层(BLL,Service)提供基类之后,程序变得了更加面向对象了,如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
设计模式 Java 测试技术
分层设计:Service 层真的需要实现接口吗?
【8月更文挑战第4天】在软件开发领域,分层设计是一种广泛应用且高效的设计模式,它通过将系统划分为不同的逻辑层(如表现层、服务层、数据访问层等),来提高代码的可维护性、可扩展性和可测试性。其中,Service层作为业务逻辑处理的核心,其设计尤为重要。那么,Service层是否真的需要实现接口呢?这个问题值得我们深入探讨。
85 8
|
3月前
|
Java
java工具类调用service层,mapper层
java工具类调用service层,mapper层
|
4月前
|
Java 调度
抽象,封装
抽象,封装
27 1
|
4月前
|
JSON 数据格式
thinkphp5.1封装基类控制器
thinkphp5.1封装基类控制器
36 0
thinkphp5.1封装基类控制器
|
Java
10 抽象与封装
10 抽象与封装
71 0
|
Java 数据库连接 数据库
【知识】View层、Controller层、Service层、Dao层的区别以及对应的功能
【知识】View层、Controller层、Service层、Dao层的区别以及对应的功能
287 0
|
Java 测试技术 API
接口和抽象有什么区别?
接口和抽象有什么区别?
140 0
接口和抽象有什么区别?
TP5.1门面类facade钩子behavior工具类,逻辑层service
TP5.1门面类facade钩子behavior工具类,逻辑层service
328 0
TP5.1门面类facade钩子behavior工具类,逻辑层service
|
存储 XML 算法
java三层架构:数据访问层、业务逻辑层、表现层
java三层架构:数据访问层、业务逻辑层、表现层
1774 0