建立逻辑层和表现层

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

而在表现层,则不去理会用的是数据库还是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层。^_^

原文地址:https://www.cnblogs.com/chenbg2001/p/1380524.html