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

下面我们,就这个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 自己去写,我就不说了

转载于:https://www.cnblogs.com/wh123/p/6501059.html

每日关键词-170304-.net,c#分层架构常识相关推荐

  1. 城市地下综合管廊安全运营与智慧管控的分层架构研究

    安科瑞 李亚俊 1.引言 1833年,市政管线综合管廊在巴黎城市地下建成至今,经过百年来的探索.研究.改良和实践,法国.英国.德国.俄罗斯.日本.美国等发达国家的管廊规划建设与安全运维体系已经日臻完善 ...

  2. 架构师必备,了解分层架构中缓存那点事儿

    戳蓝字"CSDN云计算"关注我们哦! 作者:贺志兵 无论是CDN缓存加速,还是CPU的三级缓存,又或者是在如今互联网时代流量红利所带来的高并发结构客户端,而不得不使用缓存架构.缓存 ...

  3. DDD分层架构最佳实践

    还在单体应用的时候就是分层架构一说,我们用得最多的就是三层架构.而现在已经是微服务时代,在微服务架构模型比较常用的有几个,例如:整洁架构,CQRS(命令查询分离)以及六边形架构.每种架构模型都有自己的 ...

  4. 互联网分层架构,为啥要前后端分离?

    作者:58神剑,来源:架构师之路 一,典型后端架构 通用业务服务化之后,系统的典型后端结构如上: web-server通过RPC接口,从通用业务服务获取数据 biz-service通过RPC接口,从多 ...

  5. 走向.NET架构设计—第四章—业务层分层架构(后篇)

    走向.NET架构设计-第四章-业务层分层架构(后篇) 前言: 在上一篇文章中,我们讨论了组织业务逻辑的模式:Transaction Script和Active Record,Domain Model. ...

  6. ddd架构 无法重构_漫谈分层架构:为什么要进行架构分层?

    为什么要分层 高内聚:分层的设计可以简化系统设计,让不同的层专注做某一模块的事 低耦合:层与层之间通过接口或API来交互,依赖方不用知道被依赖方的细节 复用:分层之后可以做到很高的复用 扩展性:分层架 ...

  7. WLAN产品形态之分层架构

    随着移动互联网时代的来临,无线数据流量呈现爆发式增长,各大运营商也越来越多依靠WLAN来承载这些无线数据流量,大规模进行WLAN网络建设,分担3G网络的压力,让客户体验更加美好.无处不在的优质无线网络 ...

  8. 走向.NET架构设计—第四章—业务层分层架构(前篇)

    走向.NET架构设计-第四章-业务层分层架构(前篇) 前言:在任何一个项目中业务层毫无疑问是最重要的层,所以在设计的过程中,如何组织业务层是至关重要的.本章的讨论将会涉及Flower的架构模式一书中的 ...

  9. 分层架构web容器的配置安全

    转自:http://hi.baidu.com/shineo__o/item/7520d54c24d234c71081da82 /ps:本以为这是一个偶然配置失误造成的问题,但最近几天无聊时测试发现,有 ...

最新文章

  1. chrome浏览器的跨域设置 Google Chrome浏览器下开启禁用缓存和js跨域限制--disable-web-security...
  2. Understanding the Framework (理解FMS框架)
  3. 重磅 | 20+技术大咖齐聚 阿里云数据库创新上云峰会进入一周倒计时
  4. 什么就像谈恋爱一样?
  5. 将字符串中的指定字符全局替换
  6. Docker Machine搭建并加入节点
  7. 腾讯游戏规范直播:以后将严禁这些行为!
  8. Redhat或者Centos 手动安装sublime text 3
  9. java英文笔试题_java英文面试笔试题
  10. 易语言不用uac权限写到c盘,易语言制作UAC管理员模式添加器
  11. 解决:/bin/bash: mvn: 未找到命令
  12. 关于Android平台上面is not valid; is your activity running?
  13. 物联网轻松上云实践 之 HaaS样板间
  14. 中国推出人民币外汇货币掉期交易 规避汇率风险
  15. Matlab之生成间距向量函数linspace和logspace
  16. Moudle、aar新建和导入
  17. Pycharm导入scap包提示出错
  18. FFmpeg的HEVC解码器源代码简单分析:解析器(Parser)部分
  19. 第三方支付频频被罚款,市场驱动下或是故意为之?
  20. DS18B20测量温度液晶1602显示

热门文章

  1. java项目嗖嗖移动业务大厅项目报告_Java就业指导课程
  2. android 加网络权限管理,Android添加用户组及自定义App权限的方法
  3. ctfshow-萌新-web9( 利用命令执行漏洞读取网站敏感文件)
  4. java8 内部类_Java8基础知识(五)内部类
  5. 「 iOS知识小集 」2018 · 第 38 期
  6. 腾讯优图升级为计算机视觉研发中心,与《科学》宣布战略合作
  7. vue使用过程中的一些问题
  8. linux NTP服务
  9. hadoop异常 java.io.IOException: Job status not available
  10. __init和__initdata