Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#三层架构

作者:事到如今我依如故ゝ   发布日期:2025-10-05   浏览:64

// 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();
    }
}

解释说明:

  1. 数据访问层 (DAL):

    • UserDAL 类负责与数据库交互,模拟从数据库中获取用户数据。
    • 在实际项目中,这里会包含数据库连接、查询语句等。
  2. 业务逻辑层 (BLL):

    • UserBLL 类负责处理业务逻辑。它依赖于 UserDAL 来获取数据,并在此基础上进行进一步的处理或验证。
    • 例如,GetActiveUsers 方法可以添加更多的业务规则,如过滤出活跃用户。
  3. 表示层 (UI):

    • UserController 类负责展示数据给用户。它调用 UserBLL 获取处理后的数据,并将其输出到控制台。
    • 在实际项目中,这可能是 Web 页面、桌面应用程序界面等。
  4. 用户实体类:

    • User 类定义了用户的属性,如 IdName,并包含一个 IsActive 属性用于表示用户是否为活跃状态。
  5. 测试代码:

    • Program 类中的 Main 方法演示了如何实例化各层的对象,并调用方法来展示活跃用户的信息。

通过这种分层架构,代码结构更加清晰,易于维护和扩展。每一层都有明确的职责,使得开发和调试更加简单。

上一篇:c# 跨平台gui

下一篇:c#递归

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

c# rectangle

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站