当前位置:编程学习 > C#/ASP.NET >>

请问各位前辈高人 如何快速实现三层架构?

大家来说说三层架构呀!偏向C#的示例啦!请文明发言.大家共同努力,让我们这些想学习三层架构的小白们有一个好的学习环境,从大处来讲 就是在各位前辈的指点下 一批新的武林高手出炉了... --------------------编程问答-------------------- 请文明发言

如果经常遇到不文明的发言,lz需要反思了。 --------------------编程问答-------------------- 我不建议为了三层而三层。
三层不是一门知识去学习的,没有这样的项目背景,永远不能理解为什么要三层,更不会理解如何做三层。 --------------------编程问答-------------------- 回caozhy 这到不是我发言不文明,而是我经常在看别人帖会遇到这种情况. 如果是我遇到这种情况,下面的贴 我估计就没兴趣看了 所以我才会说 请文明发言 无它 只是为了创建一个文明和谐环境罢了.... --------------------编程问答-------------------- 我学习三层的目的 主要是现在公司的新系统会用三层来实现 还有就是自己也提升一下知识面 三层毕竟是开发的主流 而我现在还停留在 点击 然后事件处理 通用的代码则写到一个共用类 有点跟不上时代了 所以希望有学习过三层架构的人能提出一些好的建议 或想法 让我或其他有需要的人能够学习 参考一下. --------------------编程问答-------------------- 快速就是用代码生成.. --------------------编程问答-------------------- 谢谢 各位 已回帖 或正在回帖的 还有就是以后会回帖的兄弟 姐妹们 晚上好 小弟顶不住了 先睡了哈 明天 继续 感觉 发言也挻有趣的 为以前的潜水感到羞愧 希望大家勇跃发言... 小弟也有一些生活上的心得 到时共享啦 谢谢大家 晚安啦 --------------------编程问答-------------------- 一个简陋的多层

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication22
{
    public partial class Form1 : Form // 界面层
    {
        public Form1()
        {
            InitializeComponent();

            E EObj = new B().GetNameByID(2);

            if (EObj != null)
                MessageBox.Show(EObj.Name);
        }
    }

    class B // 逻辑层
    {
        public E GetNameByID(int ID)
        {
            DataTable DT = new D().GetData();
            DataRow[] DRS = DT.Select(Table.ID + "=" + ID);

            if (DRS.Length > 0)
                return ClassFactoryService.GetEByDR(DRS[0]);
            else
                return null;
        }
    }

    class D // 数据层
    {
        public DataTable GetData()
        {
            DataTable DT = new DataTable();

            DT.TableName = Table.Tablename;
            DT.Columns.Add(Table.ID);
            DT.Columns.Add(Table.Name);
            DT.Rows.Add(new Object[] { 1, "A" });
            DT.Rows.Add(new Object[] { 2, "B" });
            DT.Rows.Add(new Object[] { 3, "C" });

            return DT;
        }
    }

    class ClassFactoryService  // 服务层
    {
        static public E GetEByDR(DataRow DR)
        {
            E EObj = new E();
            EObj.ID = Convert.ToInt32(DR[Table.ID]);
            EObj.Name = DR[Table.Name].ToString();

            return EObj;
        }
    }

    class E // 实体类
    {
        public int ID;
        public String Name;
    }

    class Table // 表定义
    {
        static public String Tablename = "XXX";
        static public String ID = "ID";
        static public String Name = "Name";
    }
}
--------------------编程问答-------------------- 写得有个小问题,逻辑层应该返回name字符串,而不用返回整个类 --------------------编程问答-------------------- 可以参考FortuneBase
参考地址www.cnblogs.com/mail-ricklee --------------------编程问答-------------------- mark
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,