Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 4 ----业务逻辑层

上一次我们完成了数据访问层的接口和实现,这次我们按部就班的完成业务层接口及实现,并采用spring.net声明式事务.另外,采用nunit对业务实现进行单元测试.

象petshop框架一样,我们先定义业务层接口,这里只和实体有有耦合.我们拿用户User为例:

IUserManager
using DirectCenter.Model;
namespace DirectCenter.IBLL
{
  /// <summary>
  /// 用户管理
  /// </summary>
  public interface IUserManager
  {
    /// <summary>
    /// 创建一个用户(返回包含默认值)
    /// </summary>
    /// <returns></returns>
    User NewUser();
    /// <summary>
    /// 保存用户
    /// </summary>
    /// <param name="user">用户实体</param>
    /// <returns></returns>
    User SaveUser(User user);
    /// <summary>
    /// 获取用户
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <returns></returns>
    User GetUser(string userId);
    /// <summary>
    /// 删除用户
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <returns></returns>
    void DeleteUser(string userId);
    /// <summary>
    /// 更新用户
    /// </summary>
    /// <param name="user">用户实体</param>
    /// <returns></returns>
    User UpdateUser(User user);
  }
}

时间: 2024-12-09 19:33:59

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 4 ----业务逻辑层的相关文章

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 3 ----数据访问层

在上一篇中,我们已经搭建起了整个解决方案的项目,并且建好了数据库,完成了实体类和Nhibernate映射文件.在本文中,将定义数据访问接口,并利用Nhibernate实现接口,利用Spring.net配置起来dao.并对其进行单元测试. 数据访问层也和Petshop等框架一样,分为数据访问的接口以及实现,不过这里的数据访问实现相比之下就清晰和明显了的多,Nhibernate本身就是支持多数据库的,所以这样做不是为了多数据库,而是为了Nhibernate的可插拨,即使哪一天发现由于一些问题,比如说

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 1---准备

本系列文章将演示如果利用Spring.Net+NHibernate+Asp.Net mvc+ExtJs构建多层应用程序.架构具有松耦合性,接口编程,并且有很强的可扩展性.比较适合企业系统开发相关的产品开发. 充分利用Spring.Net的IOC,AOP等特性,并且作为整个框架的容器,NHibernate使整个框架更面向对象,并且支持多数据库.Asp.net Mvc一改以往Webform的方式,使界面和后台代码完全分开.Extjs则创建出更美观,用户体验更好的界面,能够很方便的完成asp.net

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 5 ----asp.net MVC+Extjs

在前面的系列中,我们已经完成了数据库设计,数据访问和业务逻辑,接下来我们来完成前台MVC和Extjs界面部分. 在这段时间里,spring.net已经发布了1.2版本,asp.net mvc也更新到了RC1 Refresh.nhibernate更新到了2.0.整个Demo程序也做了相应的更新. 整个架构由asp.net mvc把后台的业务和前台界面联系起来,在Controller中调用业务逻辑完成前台的调用,完成相应的视图转发等工作.这样存在两个问题: Controller怎么调用业务逻辑? 最

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 2----整体架构

就以一个简单的DirectCenter项目开始介绍这个框架吧,DirectCenter主要分为用户管理,部门管理,公司管理三个模块.首先先搭建起解决方案DirectCenter: DirectCenter: DirectCenter.Model (类库项目)实体类库,其中包括hibernate映射文件(可以把映射文件放到DAL层,这样使Model也比较单纯,而DAL则只是Nhibernate的完整实现) DirectCenter.IDAL (类库项目)数据访问层接口 DirectCenter.D

Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 6 ----asp.net MVC+Extjs

现在mvc采用了ModelBinder, Controller中现在可以接受很多复杂类型的参数,但是对于jquery,extjs等js框架来说,更多的是采用json格式与服务器端传递参数更合理.对于简单的参数,我们可以并不采用json格式,直接post到服务器端.比如用户登陆,我们只传递用户名和密码到Controller中: handler : function CheckLogin() { if (form.isValid()) { var formvalue = form.getValues

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程 前言:前面几篇博客我们基本已经介绍完了搭建整个项目和数据库访问层以及一些业务逻辑层的实现,当然了,我们的数据库访问层这样还是可以在进行封装的,但是我到这里就行了吧,项目也不大,不需要那么麻烦的,那么我们今天开始介绍我们需要介绍的内容,那就是我

ASP.NET MVC5网站开发之业务逻辑层的架构和基本功能 (四)_实用技巧

业务逻辑层在Ninesky.Core中实现,主要功能封装一些方法通过调用数据存储层,向界面层提供服务. 一.业务逻辑层的架构 Ninesky.Core包含三个命名空间Ninesky.Core.Ninesky.Core.Types.Ninesky.Core.General. Ninesky.Core包含模型和功能实现,Ninesky.Core.Types是项目用到的一些类型的定义,Ninesky.Core.General是项目用到的一些方法的定义. 1.Ninesky.Core命名空间的结构 Ni

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (五)测试你的成果

          本篇文章:主要介绍怎么使用这套框架.在做好配置等前期工作后.我们就是要与Mvc进行融合了.由于Mvc本人也是个初级入门者.对于这部分的研究还不是很深入.但是基本应用已经可以了.下面就让我们开始一个简单的应用实例吧: 第一步:添加control 在web项目中的controls文件夹下面添加一个UserController.cs文件.[这里可以把Controls单独放到一个项目中,这里只是搭建框架的演示,就不做那么复杂了] 添加代码如下所示: 代码 using System;u

搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目

本篇文章的目的:首先是创建解决方案.并创建相关的项目.先介绍一下项目的各自的作用: 从数据库层到表示层依次为: 数据库层:        1.接口IDao层:IDao        2.Dao层实现:HibernateDao和SqlDao             HibernateDao:由Hibernate实现的IDao部分             SqlDao:是由我们自己写sql实现的部分 业务逻辑层:        1.业务逻辑接口层:IBLL        2.业务逻辑接口的实现:BL