经过前面几篇文章的准备,在这一篇文章中,将实现系统的业务逻辑层。
在实际应用中,业务逻辑层是至关重要的,他承载着整个系统最核心的部分,也是客户最关注的部分。这一部分的实现,通常需要开发人员和客户的通力合作。当然,在本系列文章中,只是为了表示的简洁,导致了业务逻辑的简单性,这里看的可能还不是很明显,大家可以进行扩展。
这里很多业务逻辑只有一行代码,即一个业务逻辑方法恰好对应一个数据访问方法(但是在实际设计中很多都是通过多个数据访问方法实现业务的)。另外,虽然许多方法只调用一个数据访问方法,但是从命名看也能看出两者着眼点的不同。如Add和Insert,这两个个名字显然是从业务和从数据库的角度看问题。下面我们来看看具体的代码:
User类:
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.DAL.Factory;
using MWC.Interface;
using System.Data;
namespace MWC.BusinessLogic
{
public class User
{
public void Add(Entity.User user)
{
IUser iu = AccessFactory.UserFactory();
iu.Insert(user);
}
public DataSet List()
{
IUser iu = AccessFactory.UserFactory();
return iu.GetList();
}
public DataSet Info(Guid userID)
{
IUser iu = AccessFactory.UserFactory();
return iu.GetUserFromID(userID);
}
public DataSet Info(string userName)
{
IUser iu = AccessFactory.UserFactory();
return iu.GetUserFromName(userName);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.DAL.Factory;
using MWC.Interface;
using System.Data;
namespace MWC.BusinessLogic
{
public class User
{
public void Add(Entity.User user)
{
IUser iu = AccessFactory.UserFactory();
iu.Insert(user);
}
public DataSet List()
{
IUser iu = AccessFactory.UserFactory();
return iu.GetList();
}
public DataSet Info(Guid userID)
{
IUser iu = AccessFactory.UserFactory();
return iu.GetUserFromID(userID);
}
public DataSet Info(string userName)
{
IUser iu = AccessFactory.UserFactory();
return iu.GetUserFromName(userName);
}
}
}
Group类:
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.DAL.Factory;
using MWC.Interface;
using System.Data;
namespace MWC.BusinessLogic
{
public class Group
{
public void Add(Entity.Group Group)
{
IGroup ig = AccessFactory.GroupFactory();
ig.Insert(Group);
}
public DataSet List()
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetList();
}
public DataSet Info(Guid GroupID)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupFromID(GroupID);
}
public DataSet Info(string GroupName)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupFromName(GroupName);
}
public void AddUser(Guid groupID, Guid userID)
{
IGroup ig = AccessFactory.GroupFactory();
ig.InsertUserToGroup(groupID, userID);
}
public DataSet UserList(Guid groupID)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupOfUser(groupID);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.DAL.Factory;
using MWC.Interface;
using System.Data;
namespace MWC.BusinessLogic
{
public class Group
{
public void Add(Entity.Group Group)
{
IGroup ig = AccessFactory.GroupFactory();
ig.Insert(Group);
}
public DataSet List()
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetList();
}
public DataSet Info(Guid GroupID)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupFromID(GroupID);
}
public DataSet Info(string GroupName)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupFromName(GroupName);
}
public void AddUser(Guid groupID, Guid userID)
{
IGroup ig = AccessFactory.GroupFactory();
ig.InsertUserToGroup(groupID, userID);
}
public DataSet UserList(Guid groupID)
{
IGroup ig = AccessFactory.GroupFactory();
return ig.GetGroupOfUser(groupID);
}
}
}
这里需要注意的是在本模块的引用中加入“MWC.Entity”、“MWC.DAL.Factory”、“MWC.Interface”。