基于.NET平台的架构
文章平均质量分 87
kable999
电话 13159257816
展开
-
基于.NET平台的分层架构实战(十)——业务逻辑层的实现
在这一篇文章中,将实现一个NGuestBook的业务逻辑层。在实际应用中,业务逻辑层是至关重要的,他承载着整个系统最核心的部分,也是客户最关注的部分。这一部分的实现,通常需要技术专家和领域专家通力合作。当然,在本文章系列的Demo中,由于业务逻辑的简单性,这里看的可能还不是很明显。在本篇文章的业务逻辑层实现中,业务逻辑层主要承担了以下职责:1.对不同数据访问层的封装。使原创 2010-03-24 17:33:00 · 550 阅读 · 0 评论 -
基于.NET平台的分层架构实战(九)——数据访问层的第三种实现:基于NBear框架的ORM实现
前面的文章讨论了使用SQL语句和存储过程两种数据访问层的实现方式,这一篇里,将讨论使用ORM方式实现数据访问层的方法。对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实原创 2010-03-24 17:32:00 · 484 阅读 · 0 评论 -
基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
我们设计的分层架构,层与层之间应该是松散耦合的。因为是单向单一调用,所以,这里的“松散耦合”实际是指上层类不能具体依赖于下层类,而应该依赖于下层提供的一个接口。这样,上层类不能直接实例化下层中的类,而只持有接口,至于接口所指变量最终究竟是哪一个类,则由依赖注入机制决定。之所以这样做,是为了实现层与层之间的“可替换”式设计,例如,现在需要换一种方式实现数据访问层,只要这个实现遵循了前原创 2010-03-24 17:26:00 · 275 阅读 · 0 评论 -
基于.NET平台的分层架构实战(三)——架构概要设计
本文主要是对将要实现的架构进行一个总体的描述,使朋友们对这个架构有个宏观上的认识。这篇文章理论性的东西会偏多一点,从下篇开始,将进行实际项目的开发。这篇文章的许多内容摘自我的毕业论文。架构基本原则:这里,将描述一些在这个架构设计中的基本原则,其中很多都是经典的设计原则,不过针对分层架构的特点,用我自己的语言进行了描述。其中也有我自己提出的原则。逐层调用原则及单向调用原则原创 2010-03-24 17:23:00 · 336 阅读 · 0 评论 -
发布 NGuestBook(一个基于.NET平台的分层架构留言本小系统)
发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习。但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统和完整的源代码。原创 2010-03-24 17:37:00 · 471 阅读 · 0 评论 -
基于.NET平台的分层架构实战(十一)——表示层的实现
在这篇文章中,将讨论一下表示层的实现方法。表示层是一个系统的“门脸”,不论你的系统设计的多么优秀,代码多么漂亮,系统的可扩展性多么高,但是最终用户接触到的大多是表示层的东西。所以,表示层的优劣对于用户最终对系统的评价至关重要。一般来说,表示层的优劣有一下两个评价指标:1.美观。即外观设计漂亮,能给人美的感觉。2.易用。即具有良好的用户体验,用户用起来舒服、顺手。原创 2010-03-24 17:34:00 · 346 阅读 · 0 评论 -
基于.NET平台的分层架构实战(八)——数据访问层的第二种实现:SQLServer+存储过程
在上一篇中,讨论了使用SQL构建数据访问层的方法,并且针对的是Access数据库。而这一篇中,将要创建一个针对SQLServer数据库的数据访问层,并且配合存储过程实现。曾经有朋友问我使用SQL和存储过程在效率上的差别,惭愧的是我对这方面没有研究,也没有实际做过测试。通过查阅资料,发现在一般情况下,存储过程的效率由于使用SQL,但是也不绝对,也发现有的朋友测试时发现在特定情况下SQ原创 2010-03-24 17:30:00 · 328 阅读 · 0 评论 -
基于.NET平台的分层架构实战(五)——接口的设计与实现
接下来,将进行接口的设计。这里包括数据访问层接口和业务逻辑层接口。在分层架构中,接口扮演着非常重要的角色,它不但直接决定了各层中的各个操作类需要实现何种操作,而且它明确了各个层次的职责。接口也是系统实现依赖注入机制不可缺少的部分。本项目的接口设计将按如下顺序进行:1.首先由前文的需求分析,列出主要的UI部分。2.分析各个UI需要什么业务逻辑支持,从而确定业务逻辑层接口。原创 2010-03-24 17:25:00 · 299 阅读 · 0 评论 -
基于.NET平台的分层架构实战(四)——实体类的设计与实现
实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。一般来说,实体类可以分为“贫血实体类”和“充血实体类”,前者仅仅保存实体的属性,而后者还包含一些实体间的关系与逻辑。我们在这个Demo中用的实体类将是“贫血实体类”。大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复原创 2010-03-24 17:24:00 · 283 阅读 · 0 评论 -
基于.NET平台的分层架构实战(二)——需求分析与数据库设计
在实际的项目中,需求分析和数据库的设计是很重要的一个环节,这个环节会直接影响项目的开发过程和质量。实际中,这个环节不但需要系统分析师、软件工程师等计算机方面的专家,还需要相关领域的领域专家参与才能完成。但是,在这个文章系列中,所要使用的Demo仅仅是一个例子,而且其业务极为简单,因此,这里并不是真正的需求分析和数据库设计,而是将Demo的需求和数据库罗列至此,使朋友们对Demo有一原创 2010-03-24 17:23:00 · 303 阅读 · 0 评论 -
基于.NET平台的分层架构实战(一)——综述
为了让朋友们把主要精力放在理解分层架构而不是案例本身,我准备选择一个相对简单的留言本系统作为Demo,这个系统的名字就叫做NGuestBook。初步计划将这个文章系列分为以下几篇:1.综述2.系统需求分析及数据库设计3.架构概要设计4.实体类的实现5.接口的设计与实现6.依赖注入及IoC的设计与实现7.数据访问层的第一种实现——Access+动态生成SQ原创 2010-03-24 17:21:00 · 285 阅读 · 0 评论 -
请问NHibernate+spring.net+atlas和ibatis.net+castle+magicajax
其实castle是集成了nhibernate的,而nhibernate对存储过程支持性不太好,所以castle对复杂查询支持的不是太好,这点不如ibatis.net。castle里的active records对多表更新是事务支持也不太好,但是复杂查询什么的可以用HQL语句,所以大部门的查询也能应付的了,另外castle里还有IBatis.net Facility和NHiber原创 2010-05-05 10:12:00 · 1136 阅读 · 0 评论