// C# 三层架构示例代码
// 第一层:数据访问层 (DAL)
public class UserDAL
{
public List<User> GetAllUsers()
{
// 模拟从数据库获取用户数据
return new List<User>
{
new User { Id = 1, Name = "张三" },
new User { Id = 2, Name = "李四" }
};
}
}
// 第二层:业务逻辑层 (BLL)
public class UserBLL
{
private readonly UserDAL _userDAL;
public UserBLL(UserDAL userDAL)
{
_userDAL = userDAL;
}
public List<User> GetActiveUsers()
{
// 可以添加业务逻辑,例如过滤、验证等
var users = _userDAL.GetAllUsers();
return users.Where(u => u.IsActive).ToList();
}
}
// 第三层:表示层 (UI)
public class UserController
{
private readonly UserBLL _userBLL;
public UserController(UserBLL userBLL)
{
_userBLL = userBLL;
}
public void DisplayActiveUsers()
{
var activeUsers = _userBLL.GetActiveUsers();
foreach (var user in activeUsers)
{
Console.WriteLine($"用户ID: {user.Id}, 用户名: {user.Name}");
}
}
}
// 用户实体类
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; } = true;
}
// 测试代码
class Program
{
static void Main(string[] args)
{
var userDAL = new UserDAL();
var userBLL = new UserBLL(userDAL);
var userController = new UserController(userBLL);
userController.DisplayActiveUsers();
}
}
数据访问层 (DAL):
UserDAL
类负责与数据库交互,模拟从数据库中获取用户数据。业务逻辑层 (BLL):
UserBLL
类负责处理业务逻辑。它依赖于 UserDAL
来获取数据,并在此基础上进行进一步的处理或验证。GetActiveUsers
方法可以添加更多的业务规则,如过滤出活跃用户。表示层 (UI):
UserController
类负责展示数据给用户。它调用 UserBLL
获取处理后的数据,并将其输出到控制台。用户实体类:
User
类定义了用户的属性,如 Id
和 Name
,并包含一个 IsActive
属性用于表示用户是否为活跃状态。测试代码:
Program
类中的 Main
方法演示了如何实例化各层的对象,并调用方法来展示活跃用户的信息。通过这种分层架构,代码结构更加清晰,易于维护和扩展。每一层都有明确的职责,使得开发和调试更加简单。
上一篇:c# 跨平台gui
下一篇:c#递归
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站