zoukankan      html  css  js  c++  java
  • 每日关键词-170304-.net,c#分层架构常识

    首先我们看一张我自己的架构图

    下面我们,就这个ibll bll dal idal 来说一下

    首先我们需要加入IDAL类库,定义IBaseDAL接口

    这个接口只有一个作用,定义通用方法,例如增删改查等等,记住这里要写成泛型,因为他的儿子们都要继承它的喔

    这里暂时只写这几个,增删改查 提交 ok完成。

    然后需要做的就是DAL层里面的与之对应的BaseDAL这个啦

    这里只需要 继承这个IBaseDal,实现里面的四五个接口方法即可 ,这里也是泛型的喔,注意看他们的单词 base就知道这个是父亲类

    接下来 就有人会问 这些方法好少啊,不够用怎么办,好的 这时候就需要特殊接口进行特殊方法啦

    案例,我们有一张form表,form表的作用就是取其它表的表名

    建立IformDAL接口

    然后 你想想怎么写,当然是下面这样啦,想想这个方法除了传统的增删改查 还需要做什么,这里就很好写了

    namespace WhBlog.IDAL
    {
        //针对form写拿数据接口
        public interface IFormDAL : IBaseDAL<form>
        {
            //根据formid获取表名
            string getTableName(int formID);
    
            //建立索引this 获取名字
            string this[int index] { get; set; }
    
            //根据权限id获取显示的formid数组
            int[] getFormIDs(int roleFlag);
        }
    }

    这里继承ibase接口,然后下面三个是自己针对自己form的

    最后是formDAL了

    这里类实现这个接口IformDal,并且继承这个BaseDAL这个类(这里很重要,因为呢:如果这里不继承这个basedal呢,后果就是,你每一个特殊话的类就需要实现每一个增删改查的基础方法,是不是麻烦死了,我们把实现基础方法接口的工作交给basedal这个类去实现Ibasedal这个基础接口,然后我们的特殊类只需要继承这个basedal类就可以获得它的一切)

    然后 实现以下里面的二个方法即可

     public class FormDAL : BaseDAL<form>, IFormDAL
        {
            public string this[int index]
            {
                get
                {
                    throw new NotImplementedException();
                }
    
                set
                {
                    throw new NotImplementedException();
                }
            }
    
            public int[] getFormIDs(int roleFlag)
            {
                throw new NotImplementedException();
            }
    
            public string getTableName(int formID)
            {
                throw new NotImplementedException();
            }
        }

    基本搞定,bll ibll 自己去写,我就不说了

  • 相关阅读:
    第十二节:WebApi自动生成在线Api文档的两种方式
    第十一节:WebApi的版本管理的几种方式
    自学Python1.3-centos内python3并与python2共存
    自学Python1.2-环境的搭建:Pycharm及python安装详细教程
    自学Python1.1-简介
    Java通过ftp上传文件
    Java使用Spring初识
    Java中类似C#中Task.wait()的类CountDownLatch
    Java创建多线程和线程安全集合Vector
    未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。
  • 原文地址:https://www.cnblogs.com/wh123/p/6501059.html
Copyright © 2011-2022 走看看