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("账号或密码不匹配");
                }
            } 

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

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

  • 相关阅读:
    std::queue
    关于GridView中如何取得隐藏列的值
    揭秘史上最昂贵的一行Javascript代码
    CentOS 安装 git2.x.x 版本
    error: Some data has already been output, can't send PDF file
    接口和抽象类有什么区别
    php与apache的那些事
    PHP生成PDF完美支持中文,解决TCPDF乱码
    php 表单相关
    快速的去除数组中的指定值
  • 原文地址:https://www.cnblogs.com/aqbyygyyga/p/1635753.html
Copyright © 2011-2022 走看看