C# asp.Net 3階層アーキテクチャ


三層アーキテクチャ:PL(present layer)層、BLL(business logical layer)層、DAL(data access layer)層を指し、全体的な設計の思想である.
PL層:表現層であり、主にデータを展示するために用いられる.BLL層:処理層で、主にデータを処理するために使用されます.DALレイヤ:主にデータベースからデータを取得します.PLはユーザ向け,DALはデータベース向けである.
具体的には、PLはwebアプリケーションであり、BLLを呼び出す方法でBLLにデータを渡すか、BLLから処理されたデータを取得する.BLLレイヤはクラスライブラリであり、DALメソッドを呼び出してデータを取得したり、データ処理結果をDALに渡したりする.
実装方法:
新規プロジェクト:
1.新規作成→プロジェクト→空のソリューション
2.右クリック・空のソリューション-新規の追加-Webアプリケーション(PL層、もちろんWebフォームも追加
)
3.右クリック空のソリューション-新規アイテムの追加-クラスライブラリ(BLLレイヤ)
4.右クリック空のソリューション-新規アイテムの追加-クラスライブラリ(DALレイヤ)
次に参照を追加します.
右クリックPL層の参照、BLL層への参照を追加
、BLLレイヤの参照を右クリックし、DALレイヤへの参照を追加
注意:クラスライブラリを共有に変更すると、他のクラスライブラリ(PL,BLL)のクラスにアクセスできます.
テスト:
PL中WebForm 1.aspxのコード:





    


    <form id="form1" runat="server">
    <div>
        10+12=
        <label id="Label1" runat="server" text="Label"/><br/>
        10*12=<label id="Label2" runat="server" text="Label"/><br/>
        <button id="Button1" runat="server" text="Button" onclick="Button1_Click"/>
        <br/>
    </div>
    </form>

</code></pre> 
   
  <p><span style="font-size:24px;">PL  <span style="font-size:24px;">WebForm1.aspx.cs   </span></span></p> 
  <p><span style="font-size:24px;"/></p> 
  <pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Web
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            BLL.Calculate c = new BLL.Calculate();
            Label1.Text = "" + c.add(10, 12);
            Label2.Text = "" + c.mul(10, 12);
        }
    }
}</code></pre> 
   
  <p><span style="font-size:24px;">BLL   Calculate.cs  :</span></p> 
  <p><span style="font-size:24px;"/></p> 
  <pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BLL
{
    public class Calculate
    {
        DAL.Class1 c = new DAL.Class1();
        public int add(int x, int y)
        {
            return c.getX()+c.getY();  
        }
        public int mul(int x, int y)
        {
            return  c.getX()* c.getY();
        }
    }
}
</code></pre>DAL class1.cs  : 
   
  <p><span style="font-size:24px;"/></p> 
  <pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DAL
{
    public class Class1
    {
        public int getX()
        { return 10; }
        public int getY()
        {
            return 12;
        }
    }
}</code></pre> 
   
  <p><span style="font-size:24px;">  :</span></p> 
  <p><span style="font-size:24px;"><br/></span></p> 
  <p><span style="font-size:24px;"><br/></span></p> 
  <p><span style="font-size:24px;">    :</span></p> 
  <p><span style="font-size:24px;">1.              ,          ,        。      +    +BLL( DAL)。</span></p> 
  <p><span style="font-size:24px;">2.                。       :</span></p> 
  <p><span style="font-size:24px;">http://www.onlinedown.net/soft/63546.htm<br/></span></p> 
 </div> 
</div>
                            </div>
                        </div>