先给大家说声不好意思,在本人的".net简谈分层架构思想(彻底分离每个层)"文章中由于缺乏示例代码,所以给大家理解带来不便,小弟先赔礼;这篇文章我补充所有实现彻底分层的全部代码。
彻底分层的好处是能合理的分配各个人员的工作量,比如在我们某一个项目团队里面可能有的人偏向于UI设计开发,有的偏向于业务逻辑的编写,熟悉公司核心业务的人可以不需要管UI层和业务层的实现方式,只要实现数据访问层的代码,供上层调用;在本人的一个项目里面,为了能让所有的实现彻底分离开发是技术的要求也是业务的要求,项目大概是这样的:对所有的实现我并不知道存不存在,也不知道实现的项目或这程序集(dll)文件在哪里,所以我只需要公布一个实现接口供其他人去实现,我通过接口去调用相关的实现代码;上文中的反射代码是最关键的实现;请看我的项目结构图:
在我的项目里面就是完全按照分层架构(纵横分层)来实现的;有一个主要程序Hz.DataGather.Main,这个项目是所有的界面层也就是UI层,对UI层而言我不需要知道所有实现功能的对象在哪里我只需要通过接口去调用就可以了,请看图:
我UI层只需要使用BLL层接口去调用,将接口类型做为参数传递至BLL工厂,请看BLL层工厂代码图:
需要说明的是在:Assembly.LoadFrom()参数的名称是需要动态填充的,这里的名称需要进行文档化;这样就有效的实现层层分离,哪怕在开发阶段每一层的项目都可以从解决方案中移除,动态添加;以此类推DAL层也是如此;最后会到UI层来:
通过接口事件能准确的关联到实例的状态变化;希望这部分代码能帮助您理解;有问题请指出;
分享到:
相关推荐
欧柏泰克:.NET 简谈面向接口编程 面向接口编程是一种高抽象的开发模式,旨在将类与类之间的关系提升到一个更高的抽象层次。这种编程方式可以帮助开发人员更好地设计和实现软件系统,从而提高开发效率和质量。 在...
当一个事务被提交后,与之关联的`DependentTransaction`也会被提交;如果主事务回滚,则依赖事务也会回滚。 **示例代码**: ```csharp using System; using System.Threading; using System.Transactions; public ...
[王清培版权所有,转载请给出署名](可以参考本人的:.NET简谈事务本质论、.NET简谈自定义事务资源管理器)什么叫可逆的?程序的执行是可以被无限制回滚的。什么叫可逆的框架?实现了对可逆功能的封装,并能通过简单的...
【混凝土现浇板裂缝成因】 混凝土现浇板裂缝的形成是多因素综合影响的结果,主要分为客观因素和主观因素。...因此,从设计、施工到后期维护,每一个环节都需要严谨对待,强化相关人员的责任心,以确保建筑的长久安全。
具体操作方式是在要删除的键名后加上一个减号(-),例如: ``` [HKEY_LOCAL_MACHINE\Software\MyApp] "Version"=- (删除名为Version的键) ``` #### 创建注册表补丁的步骤 1. **确定需要修改的注册表项**:首先明确...
简谈Windows下的反调试技术 简谈Windows下的反调试技术 简谈Windows下的反调试技术 简谈Windows下的反调试技术 简谈Windows下的反调试技术 简谈Windows下的反调试技术
"班级管理方法简谈" 班级管理是学校教育中的一项重要工作,直接关系到学生的学习和成长。在《班级管理方法简谈》中,作者卢海战提出了五点班级管理方法,旨在提高班级管理的效率和质量。 首先,作者强调了加强学生...
曝光是影响照片亮度的三个关键参数——光圈值、ISO值和快门速度的组合结果。虽然手机的光圈值通常是固定的,但用户可以通过调整ISO值和快门速度来控制照片的亮度。ISO值代表感光度,数值越高,感光元件对光线的敏感...
简谈工程项目成本管理.doc
简谈公司员工绩效承诺.doc
简谈计算机应用基础教学 简谈计算机应用基础教学 任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,怎样分析计算 机应用基础教学? 一、引言 从事中职计算机教学多年来,发现了一个非常普遍的现象,即使...
房地产开发流程简谈.pptx
简谈英文自我介绍精选.doc
它好比是车辆大脑中的控制单元——每一个车辆行为,无论是引擎启动、悬挂调节,还是空调控制,都与编码息息相关。大众旗下多个品牌,如奥迪、斯柯达、西亚特和宾利等,都广泛采用复杂的编码系统,它们的车辆功能拓展...
简谈ERP上机实验心得体会