zoukankan      html  css  js  c++  java
  • 关于三层架构

    费劲力气终于搞出了一个三层架构的模型,, 算是入门了,虽然只是一个登陆界面 方法也很简单,变量就俩,但总算是通过model贯穿整个程序,,,   原来  dal和bll掉用model都是用 model定义的

       /////////// dal    ///////////

    public static bool denglu(model.denglu dl)
            {  using(SqlConnection conn = new SqlConnection(constring))
                { string str1 = "select * from denglu where zh=@Zhanghao and mm=@Mima";
                 using (SqlCommand cmd = new SqlCommand(str1, conn))
                    {
                        conn.Open();
                        cmd.Parameters.Add("@Zhanghao", SqlDbType.Char, 10).Value = dl.Zhanghao;
                        cmd.Parameters.Add("@Mima", SqlDbType.Char, 10).Value = dl.Mima;
                    SqlDataReader sd;
                    sd = cmd.ExecuteReader();
                    if (sd.Read())
                        return true;
                    else
                        return false;
                    }
                }
            }
           
     

    ///////////  bll    ///////////

      public bool bl(model.denglu dl)

    { return dal.Class1.denglu(dl);   }

     bll起到调用dal方法的目的,,,跟委托有些类似,,,虽然不是很理解这种机制对封装性有什么好处,

    ////////////model////////////////////////

    namespace model
    {
        public class denglu
        {

           private string zhanghao;

            public string Zhanghao
            {
                get { return zhanghao; }
                set { zhanghao = value; }
            }
            private string mima;

            public string Mima
            {
                get { return mima; }
                set { mima = value; }
            }
        }
    }

     dal用来封装方法,定义应用的变量

    bll 用来调用 dal

    在 应用层中 就不需要引用 dal了 直接调用bll 

     private void button1_Click(object sender, EventArgs e)
            {
                model.denglu dl = new denglu();
                dl.Zhanghao = textBox1.Text;
                dl.Mima = textBox2.Text;
                bll.Class1 bll = new bll.Class1();
                    
                if (bll.bl(dl))
                {
                    主界面 zhu = new 主界面();
                    zhu.Show();
                }
                else
                {
                    MessageBox.Show("账号或密码不匹配");
                }
            } 

      三层架构真麻烦!!!  可能我修为还不够,项目不够大...

    这次需要独立完成一个音像出租系统,两天只完成了个登陆,, 但进步还是有的,, 快过年了,,, 争取把所有模块先确定下来,,, 下周就填代码了...  

  • 相关阅读:
    WPF 基于 Azure 的认知服务 情绪分析 语言检测 关键短语提取
    白板类应用的模式交互设计方案
    dotnet Multi-platform App UI 多平台应用 UI 框架简介
    Windows 窗口样式 什么是 WS_EX_NOREDIRECTIONBITMAP 样式
    Windows 对全屏应用的优化
    GitHub Action 新上线 WPF .NET Core 自动构建模板
    为何 WPF 对 vcruntime140 有引用
    用 C# 写脚本 如何输出文件夹内所有文件名
    排序、去重与离散化
    二分
  • 原文地址:https://www.cnblogs.com/aqbyygyyga/p/1635753.html
Copyright © 2011-2022 走看看