C# 使用七层的登录窗口

本文介绍了作者对七层架构的理解,包括实体层、UI层、外观层、业务逻辑层、接口层、工厂层和数据访问层,并通过一个登录窗口的示例说明各层的作用。在实现过程中遇到了NullReferenceException和加载文件失败的问题,作者提供了相应的解决办法。
摘要由CSDN通过智能技术生成

七层是什么?

我所理解的七层:就是在三层的基础上添加了外观层、工厂层与接口层的七层。这么做,可以更好地解除代码之间的耦合性。

下面是我画的一个七层的图:
可以帮助我们理解七层之间的关系。
在这里插入图片描述

U层:引用外观层,实例化外观层,接收B层返回来的信息。
引用实体层,实例化实体层,用来接收信息。
配置文件也需要写在U层的App.config文件中。
Winform窗体控件的事件

外观层Facade:引用实体层。
引用B层,实例化B层对象

B层:引用实体层,接收D层返回的值
引用IDAL接口层,调用工厂方法创建接口
引用Factory工厂层,实例化工厂

IDAL接口层:引用实体层,为了查找数据表

Factory工厂层:引用D层,需要使用D层的类名
引用IDAL接口层,应用反射。
引用配置文件,在引用配置文件的时候要引用程序集,接收配置文件。
在这里插入图片描述

D层:引用接口层:实现接口的方法
引用实体层:返回数据库的数据
SqlHelper也在D层,进行查询以及返回查询表

七层代码

Entity层

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Entity
{
   
    public class UserInfo
    {
   
        
        public int UserId {
    get; set; }
        public string UserName {
    get; set; }
        public string PassWord {
    get; set; }
        
    }
}

U层

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LoginUI
{
   
    public partial class Form1 : Form
    {
   
        public Form1()
        {
   
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
   
            Entity.UserInfo entity = new Entity.UserInfo();
            //实例化实体层,用来接收信息
            entity.UserName = txtUserName.Text.Trim();
            entity.PassWord = txtPassword.Text;
            LoginFacade.Facade facade = new LoginFacade.Facade();
            //实例化外观层,接受B层返回来的信息

            bool flag = new bool()
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值