敏捷时代的来临,迫使微软.Net技术也在向敏捷方向发展。近几年,.Net在数据访问、Web、测试等多个领域大刀阔斧的进行改革,新技术不断涌现。一方面这是值得庆幸的,让.Net程序员在开发复杂项目有了更多的选择,一改往日只能拖...

大约10年前,我刚刚步入.Net开发,那时候还很流行单层架构,直接在界面上拖控件,然后绑定数据。数据库操作使用原生的Ado.Net,每次都要创建数据库连接,打开连接,发送Sql,获取结果、关闭连接。每当我需要进行数据库操作的时候...

什么是应用程序框架?正如框架是架构的具体实现一样,应用程序框架是应用程序架构的具体实现。不过这样说了等于没说,因为框架和架构都是如此抽象。为了获得直观的感受,下面先看看更具体的.Net Framework和第三方框架。.Ne...

如果没有什么好处,不会有人愿意去做,那么,你真的需要应用程序框架吗,它能为你带来什么好处?应用程序框架为你提供现成的开发环境现在来了一个项目,你可以直接打开VS,然后就开工敲代码吗?不行,你得先创建项目,当使用了...

应用程序框架是用来支持应用程序开发的,它就好像一个保姆,在开发的每一个细节对程序员呵护倍至。那么,应用程序框架应该包含哪些内容呢?原则上来说,只要期望能够复用的所有东西,都可以进入你的框架。开发新手与经验丰富...

之前说过,.Net Framework为所有.Net程序员提供底层支持,第三方开源框架建立在.Net Framework的基础上,专门解决某些特定问题,而应用程序框架则建立在.Net Framework和第三方框架的基础上,为项目开发的方方面面保驾护航...

建立应用程序框架,首先要考虑的问题是,你准备采用哪种分层架构,然后根据应用程序框架的逻辑层次来确定需要创建的VS解决方案和程序集。如果项目很小,需求很简单,时间异常紧迫,且你手上没有任何积累,那么,单层架构将是首...

分层架构根据相关职责将应用程序模块切割为多个层次,那么应用程序框架本身还要不要进行层次划分?随着对应用程序框架的理解加深,以及项目复杂度的提升,为应用程序框架分层就显得很有必要,它将影响你如何创建VS解决方案...

使用应用程序框架来开发项目,从软件项目的角度来看,可以获得更快的开发进度,更好的代码质量、复用性、扩展性、可维护性等好处。但如果换个角度思考,也会发现其它一些问题。首先,软件开发是以人为本的,应用程序框架是某个人...

前面几篇已经把废话基本说完了,现在准备进入实战阶段。第一步是把开发环境准备好,下面是本系列所使用的开发工具及其版本。为了避免你无法顺利打开本系列提供的下载示例,建议你最好跟我使用的版本相同。Visual Studio 20...

上一篇,介绍了开发环境需要的工具和版本,本篇将动手创建VS解决方案。对于本系列文章提供的示例,我想通过两种途径来演示,一种是单元测试,另外为了能更直观的看到效果,还会提供一个用户界面来展示。为了不分散注意力,前期...

本文专门为初学者而写,因为很多初学者可能还不了解公共操作类的作用和封装技巧,大部分有经验的程序员都会把自己所碰到的技术问题整理封装成类,这就是公共操作类。公共操作类往往具有一些通用性,也可能专门解决某些棘手...

本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动机和思...

上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码。本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载。我们在 应用程序框架实战十一:创建VS解决方案与程序集 一...

上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化。下面以字符串转换为List<Guid>为例进行讨论。string input = "83B0233C...

前面介绍了应用程序框架的一个重要组成部分——公共操作类,并提供了一个数据类型转换公共操作类作为示例进行演示。下面准备介绍应用程序框架的另一个重要组成部分,即体系架构支持。你不一定要使用DDD这样的架构,使用单层...

上一篇,我介绍了自己在DDD分层架构方面的一些感想,本文开始介绍领域层的实体,代码主要参考自《领域驱动设计C#2008实现》,另外参考了网上找到的一些示例代码。什么是实体  由标识来区分的对象称为实体。实体的定义隐藏了几...

为了能够验证领域实体,需要一个验证公共操作类来提供支持。由于我将使用企业库(Enterprise Library)的验证组件来完成这项任务,所以本文也将演示对第三方框架的封装要点。.Net提供了一个称为DataAnnotations的验证技术,...