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

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

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

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

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

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

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

时间: 2024-07-31 20:04:36

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

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

提到分层,我就想起一句图灵奖获得者说过的话:计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决:当初看到这句话的时候还不能深刻的体会到这句话的真正灵魂是什么.之所以要写这篇文章作为技术爱好者之一更愿意与大家分享技术给我们带来的快乐,本人将从另一个角度来解析.NET分层架构的真正奥秘.分层,一些技术功底比较薄弱的程序员听到分层就会联想到三层架构(BLL,DAL之类的),其实不是,分层是一个很大的技术框架思想,三层架构只不过是对普通的信息系统来说,将信息的流转通过三层来分解,在开发系统时一

应用程序框架实战十三:DDD分层架构之我见(转)

前面介绍了应用程序框架的一个重要组成部分--公共操作类,并提供了一个数据类型转换公共操作类作为示例进行演示.下面准备介绍应用程序框架的另一个重要组成部分,即体系架构支持.你不一定要使用DDD这样的架构,使用单层架构和普通三层架构一样可以,不过你如果希望获得更进一步的复用性和封装度,使用更加面向对象的技术是必经之程. 我在2010年以前还在使用古老的ASP.NET WebForm和原始的Ado.Net.之前我有个观念:.NET技术发展太快,跟着微软屁股后面跑太累,所以只使用它一些原始的东西,自己封

WLAN产品形态之分层架构

随着移动互联网时代的来临,无线数据流量呈现爆发式增长,各大运营商也越来越多依靠WLAN来承载这些无线数据流量,大规模进行WLAN网络建设,分担3G网络的压力,让客户体验更加美好.无处不在的优质无线网络服务.百万规模的WLAN网络建设,对于网络架构提出了新的要求.针对上述需求,分层AC架构应运而生.一.WLAN产品架构背景介绍 随着无线网络的不断发展,WLAN产品构架形态的演变主要经历了三个时期. 1. Fat AP架构 Fat AP是传统的WLAN组网方案,AP本身承担了用户认证.漫游切换.用户

【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)

这个是表现层的main方法. 实现的地址信息有: 姓名,性别,年龄,电话,地址. 实现的功能有: 增加地址: 删除地址: 修改地址: 查找地址:其中年龄的查找为年龄段的查找. 数据存储的方式为文件存储和读写. 分层的思想是:表现层调用逻辑层,逻辑层调用数据层.不可以反过来 每个class文件都带了包名字,建好文件就可以了. /* * AddressApp.java * */ package cn.hncu.addr; import java.awt.Panel; import javax.swi

信息架构中信息类粒化简谈

当我们进一座写字楼的时候,找你想要去的房间,你会依据什么来指引到那个房间?当你到超市买东西的时候,什么东西指引你可以很快的找到你要去物柜?当你到达一个网站的时候,你依靠什么找到你要的信息?什么样的方式可以让你更加快捷的找到你所关注的目标信息?这时候,一个写字楼的楼层房间分布图谱,一个超市的物品分类,一个网站的信息架构就显示出它的作用了. 当我们找那个目标房间具体信息,房间的位置,朝南还是朝北,房间大小,距离电梯的距离等等,超市找物柜里面的物品,找红酒还是白酒,什么品牌,价格,是否有促销,是自己品

一起谈.NET技术,走向ASP.NET架构设计——第四章:业务层分层架构(后篇)

今天的内容比较简单,也是本章的一个收尾! Anemic Domain Model 这种模式和之前讲述的Domain Model有很多的相似的地方.在之前的Domain Model中,每个业务类都包含了自己的业务逻辑和数据,以及对象之前的关系:但是在Anemic Domain Model,每个业务类仅仅只是包含了一些保存业务数据的属性,把相应的业务规则从原本的业务类中移到了另外的一个专门的业务规则类(Specification Pattern,我们后面的章节讲述),同时把相应的业务方法移到了ser

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明      大约在半年前,我在博客上发表了一个系列文章:<基于.NET平台的分层架构实战>.当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习.但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统和完整的源代码.       但是后来一直有很多朋友询问这个事情,所以我觉得,将那个NGuestBook做出来还是很有必要的,所以,我花了两

.NET应用架构设计—重新认识分层架构(现代企业级应用分层架构核心设计要素)

阅读目录: 1.背景介绍 2.简要回顾下传统三层架构 3.企业级应用分层架构(现代分层架构的基本演变过程) 3.1.服务层中应用契约式设计来解决动态条件不匹配错误(通过契约式设计模式来将问题在线下暴露出来) 3.2.应用层中的应用控制器模式(通过控制器模式对象化应用层的职责) 3.3.业务层中的命令模式(事务脚本模式的设计模式运用,很好的隔离静态数据) 4.服务层作为SOA契约公布后DTO与业务层的DomainModel共用基本的原子类型 5.两种独立业务层职责设计方法(可以根据具体业务要求来搭

EntityFramework之领域驱动设计实践(二):分层架构

在引入实例以前,我们有必要回顾,并进一步了解分层架构."层"是一种体系结构模式[POSA1],也是被广大软件从业人员用得最为广泛而且最为灵活的模式之一.记得在CSDN上,时常有朋友问到:"分层是什么?为什么要分层?三层架构是不是就是表现层.业务逻辑层和数据访问层?" 到这里,你可能会觉得这些朋友的问题很简单,分层嘛,不就是将具有不同职责的组件分离开来,组成一套层内部高聚合,层与层之间低耦合的软件系统吗?不错!这是分层的目标.但是,我们应该如何分层呢? 领域驱动设计的