zoukankan      html  css  js  c++  java
  • 建立逻辑层和表现层

    逻辑层,说的最简单就是把从数据层获得的数据进行再次筛选和处理,得到我们可以直接应用的数据。

    而在表现层,则不去理会用的是数据库还是XML文件,它只考虑将逻辑层的数据直接地显示或者应用。

    比如:本例中,添加文章的时候,对于数据的正确性验证的逻辑判断就是在逻辑层发生,由逻辑层提交给数据进行处理,对于数据层它认为的数据应该是合法的。

    public void SaveMessage(MessageBoardInfo msg)
            {
                if (msg.MessageBody != null && msg.MessageBody.Trim() != "" && msg != null)
                {
                    MessagesBoard.DAL.Messages message = new MessagesBoard.DAL.Messages();
                    message.SaveMessage(msg);
                }
                else
                {
                    string alertString = "留言失败,留言本不能为空!";
                    throw new Exception(alertString);
                }
            }

    对于现实,表现层要做的仅仅是调用逻辑层,然后为控件赋值或者绑定。


        private void BindMessages()
        {
            MessageBoardInfo[] msgb = (new MessagesBoard.BLL.Messages()).GeiMessage();
            MessageList.DataSource = msgb;
            MessageList.DataBind();
        }
    同样,对于添加而言,也是如此,仅仅需要获得数据,然后调用逻辑层。

        protected void btn_Click(object sender, EventArgs e)
        {  

            string body = Msgs.Text.Trim();
            DateTime time = DateTime.Now;
            MessageBoardInfo messages = new MessageBoardInfo();
            messages.MessageBody = body;
            messages.MessageTime = time;
            MessagesBoard.BLL.Messages saveMe = new Messages();
            saveMe.SaveMessage(messages);
            Response.Redirect("Show.aspx");
        }
    这也正是三层体系的魅力所在,所有的操作互不影响,松散耦合,仅仅提供出需要调用的接口。当然,这只是一个小程序,而在真实的大型项目中往往要复杂的多,而且要学会活学活用。因为三层并不是死的,三层仅仅是N层体系的一种典型而已,根据项目的大小,有可能程序会有4层,也可能是1层。^_^

  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1380524.html
Copyright © 2011-2022 走看看