机房收费系统合作版(一)——框架搭建

机房收费系统的合作版中首次尝试使用框架:三层 + Spring.NET +Nhibernet框架。


一、整体框架图如下:

机房收费系统合作版(一)——框架搭建_第1张图片


二、三层架构图如下:

DAL层:

Adapter:

结构:

机房收费系统合作版(一)——框架搭建_第2张图片

实现IRepositoryDAL接口:扩展
继承RepositoryBaseDAL父类:复用


功能:

操作类:封装基本的操作——增删改查

this.HibernateTemplate.Save(entity)

this.HibernateTemplate.Delete(entity)

this.HibernateTemplate.Update(entity)

this.HibernateTemplate.SaveOrUpdate(entity)

this.HibernateTemplate.Find<T>()

this.HibernateTemplate.Get<T>(id)

this.HibernateTemplate.Load<T>(id)


Entity:
.CS:实体类
.xml:映射文件

collection:集合类

Base.xml:

在D层注入HibernateTemplate,以便基本方法调用

在B层注入D层的Adapter,以便调用Adapter下的方法


BLL层:

结构:

机房收费系统合作版(一)——框架搭建_第3张图片


功能:

业务逻辑类:

基类:封装最基本的逻辑

      adapterbase.getByCondition(columnName,columValue)

       adapterbase.Get(id)

       adapterbase.Load(id)

       adapterbase.Save(entity)

       adapterbase.LoadAll()

      adapterbase.Update(entity)

      adapterbase.Delete(entity)

      adapterbase.SaveOrUpdate(entity)

具体类:继承父类;扩展自己的逻辑方法

<span style="font-size:18px;"> public class AddUsersBLL : GenericBaseBLL<User, UserCollection>, IAddUsersBLL
    {
        /// <summary>
        /// 添加用户信息
        /// </summary>
        /// <param name="enUser"></param>
        public void AddUserInfo(User enUser) 
        {
            if (base.Get(enUser.Id.ToString()) == null)
            {
                //添加用户
                base.Save(enUser);
            }
            else
            {
                throw new ArgumentNullException("该用户已经存在,请重新输入用户名!");
            }
        }

    }</span>

U I层:

.Appconfig:配置文件


三、总结:


和LH一起搭完框架,突然觉得单纯写代码其实是一件最简单不过的事儿了。框架搭建完了,整个系统就算完成了一大半了,剩下的就是编写逻辑部分了,逻辑部分的编写最多不过三四天的事儿了。第一次当小组长,诸事不顺,还好有小伙伴一路陪伴。


系统小,逻辑清,为了练手,也尝试了一些新的东西:Jenkins(自动发布,检错),禅道(为组员分配任务),SVN(版本控制)。



你可能感兴趣的:(机房收费系统合作版(一)——框架搭建)