.NET简谈分层架构思想(彻底分离每个层)——后补

简介: 先给大家说声不好意思,在本人的".net简谈分层架构思想(彻底分离每个层)"文章中由于缺乏示例代码,所以给大家理解带来不便,小弟先赔礼;这篇文章我补充所有实现彻底分层的全部代码。 彻底分层的好处是能合理的分配各个人员的工作量,比如在我们某一个项目团队里面可能有的人偏向于UI设计开发,有的偏向于业务...

先给大家说声不好意思,在本人的".net简谈分层架构思想(彻底分离每个层)"文章中由于缺乏示例代码,所以给大家理解带来不便,小弟先赔礼;这篇文章我补充所有实现彻底分层的全部代码。

彻底分层的好处是能合理的分配各个人员的工作量,比如在我们某一个项目团队里面可能有的人偏向于UI设计开发,有的偏向于业务逻辑的编写,熟悉公司核心业务的人可以不需要管UI层和业务层的实现方式,只要实现数据访问层的代码,供上层调用;在本人的一个项目里面,为了能让所有的实现彻底分离开发是技术的要求也是业务的要求,项目大概是这样的:对所有的实现我并不知道存不存在,也不知道实现的项目或这程序集(dll)文件在哪里,所以我只需要公布一个实现接口供其他人去实现,我通过接口去调用相关的实现代码;上文中的反射代码是最关键的实现;请看我的项目结构图:

在我的项目里面就是完全按照分层架构(纵横分层)来实现的;有一个主要程序Hz.DataGather.Main,这个项目是所有的界面层也就是UI层,对UI层而言我不需要知道所有实现功能的对象在哪里我只需要通过接口去调用就可以了,请看图:

我UI层只需要使用BLL层接口去调用,将接口类型做为参数传递至BLL工厂,请看BLL层工厂代码图:

需要说明的是在:Assembly.LoadFrom()参数的名称是需要动态填充的,这里的名称需要进行文档化;这样就有效的实现层层分离,哪怕在开发阶段每一层的项目都可以从解决方案中移除,动态添加;以此类推DAL层也是如此;最后会到UI层来:

通过接口事件能准确的关联到实例的状态变化;希望这部分代码能帮助您理解;有问题请指出;

目录
相关文章
|
2月前
深入.net平台的分层开发
深入.net平台的分层开发
75 0
|
关系型数据库 测试技术 BI
.Net微服务实战之技术架构分层篇(二)
.Net微服务实战之技术架构分层篇(二)
165 0
.Net微服务实战之技术架构分层篇(二)
|
运维 中间件 Devops
.Net微服务实战之技术架构分层篇(一)
.Net微服务实战之技术架构分层篇(一)
328 0
.Net微服务实战之技术架构分层篇(一)
|
Web App开发 SQL 前端开发
一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
  发布NGuestBook的动机说明      大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习。
1033 0
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(十)空间分层战斗系统
  提到RPG中的空战系统,首先想到的当然是3D,这方面可是它的绝活。比如以之为核心噱头的《永恒之塔》;当然,在2.5D网游中也有着类似的实现,像《西游记Online》,不过该游戏的空战仅仅是将战场(场景)变换到了空中而已,地面呈现的仅是会动的背景,类似的功能其实早就已出现在《大话西游》系列等著名的2D游戏中。
1032 0
|
.NET 测试技术 数据库
一起谈.NET技术,走向ASP.NET架构设计——第三章:分层设计,初涉架构(后篇)
  接上篇   4.数据访问层设计    数据访问层,这块要说的不多。但是要澄清一点:数据访问不一定就是访问数据库,虽然多数的情况下,我们确实把数据存储在数据库中。   这里我们用数据库存储数据,并且用Linq To Sql来进行数据访问操作。
854 0
|
.NET 数据库
一起谈.NET技术,走向ASP.NET架构设计——第四章:业务层分层架构(前篇)
  在讨论完四种模式之后,我将会和大家一起来看看DDD的一些知识。每种模式的讲解,我都会用实例的形式给出完整的代码,也希望大家多琢磨!   不是所有的应用程序都是一样的,也不是所有的系统都需要用复杂的架构来组织业务逻辑。
1015 0
|
.NET 数据库
一起谈.NET技术,走向ASP.NET架构设计——第四章:业务层分层架构(后篇)
  今天的内容比较简单,也是本章的一个收尾!   Anemic Domain Model   这种模式和之前讲述的Domain Model有很多的相似的地方。在之前的Domain Model中,每个业务类都包含了自己的业务逻辑和数据,以及对象之前的关系;但是在Anemic Domain Model,每个业务类仅仅只是包含了一些保存业务数据的属性,把相应的业务规则从原本的业务类中移到了另外的一个专门的业务规则类(Specification Pattern,我们后面的章节讲述),同时把相应的业务方法移到了service类中。
836 0