摘要:
业务逻辑层简介 上图的粗黑色边框的部分就是业务逻辑层,可以包含下面的内容: application facade应用外观。这个可选的组件为业务逻辑组件提供一个简单的接口,通常会将多个业务操作合并为一个操作,使得业务逻辑层更容易使用。可以减少依赖,因为外部调用者不需要知道业务逻辑组建的实现细节和他们之间的关系。 业务逻辑组件。在任何应用中,业务逻辑的定义都会集中在获取数据、处理数据、传输... 阅读全文
随笔档案-2010年05月
NET 应用架构指导 V2 学习笔记(十) 表现层的主要技术及设计步骤
2010-05-30 14:55 by Virus-BeautyCode, 2278 阅读, 收藏, 编辑
摘要:
主要的技术及常用的模式。 移动应用 在设计移动应用的时候可以参考下面的原则: 如果你想要构建一个基于windows的完全在线、偶尔在线、离线的应用,可以考虑使用windows compact framework。 如果你想构建一个支持各种移动设备,或者是需要WAP协议,compact HTML的联网应用,可以考虑使用ASP.NET 。 富客户端应用 在设计富客户端应用的时候可以参看下面... 阅读全文
NET 应用架构指导 V2 学习笔记(九) 表现层指导
2010-05-29 06:51 by Virus-BeautyCode, 2125 阅读, 收藏, 编辑
摘要:
本章将会讲述在表现层的设计中的关键问题。帮助你理解在典型的分层应用架构中表现层是怎么杨的?通常包括什么?设计表现层会碰到的关键问题?你将会看到设计指导,推荐的设计步骤,相关的设计模式,可以选择的技术。 表现层组件的实现包括用来显示的用户接口,以及对于用户交互的管理。显示包括用户输入和显示的控件,还有管理用户的交互行为。下图中的粗黑线框中的内容就是表现层。 表现层通常包括下面的部分: U... 阅读全文
NET 应用架构指导 V2 学习笔记(八) 分层应用指导
2010-05-28 07:24 by Virus-BeautyCode, 2570 阅读, 收藏, 编辑
摘要:
本章将讨论将逻辑组件分组之后分布在不同的层,这样的一种应用。层集中关注单个逻辑和功能组件,不考虑组件的物理存放位置。逻辑层可以放在不同的物理层,也可以放在同一个物理层。本章将会交给你如何将你的应用分解为不同的逻辑层,如果选择合适的功能布局,应用如何支持多种客户端类型。 分清楚逻辑层和物理层的区别是非常重要的,逻辑层描述的是功能逻辑和组件的分组,物理层描述的是功能和组件在不同机器上的部署分布。尽管... 阅读全文
NET 应用架构指导 V2 学习笔记(七) 软件架构和设计方法
2010-05-27 07:23 by Virus-BeautyCode, 2246 阅读, 收藏, 编辑
摘要:
本篇详细介绍架构的步骤 1、确定架构的目标 架构的目标就是你的结构和设计过程的目的和限制,练习的范围,帮助你决定什么时候算是完成了。在你确定架构的目标的时候,可以参考下面的几个关键点: 首先确定架构的目的。你花在架构和设计的每一个阶段的总时间,将会依赖于这些目的。例如:你是否建立原型?是否测试潜在的路径?是否为一个新的应用已经开始长期的架构过程? 确定谁将会消费你的架构。确定你的架构是否会... 阅读全文
NET 应用架构指导 V2 学习笔记(六) 软件架构和设计方法
2010-05-26 07:17 by Virus-BeautyCode, 2316 阅读, 收藏, 编辑
摘要:
输入、输出和设计步骤 设计输入可以帮助确定你的架构一定要满足的需求和限制。通常输入就是用例和使用方案,功能需求,非功能需求(包括质量特性,例如:性能、安全、可靠性、和其他的),技术需求,目标部署环境,和其他限制。 在设计的过程中,你将会建立多个架构的用例,架构问题包括特殊的关注点,满足在设计过程中定义的需求和限制的候选架构方案。常用的方法就是不断的重新设计,直到满足所有的需求,保持了所有的限制... 阅读全文
NET 应用架构指导 V2 学习笔记(五) 软件架构的模式和风格
2010-05-24 23:17 by Virus-BeautyCode, 2586 阅读, 收藏, 编辑
摘要:
n-tier/3-tier architecture style n层/3层架构风格 n-tier和3-tier是一种描述架构部署风格的,用来将功能分为不同的部分,有点像分层架构模式,但是一个部分可以部署到不同的物理机器。 n-tier应用架构分解应用的功能,服务组件,分布式部署,提供改进的扩展性,可管理性。每一层都独立于其它层,除非他们是上下层关系。第n层只需要指导如何处理来自n+1层的... 阅读全文
分页存储过程(四)在MS SQL Server中打造更加准确,且有一点效率提升的的分页结果
2010-05-24 09:16 by Virus-BeautyCode, 2788 阅读, 收藏, 编辑
摘要:
在上一篇 分页存储过程(三)在MS SQL Server中打造更加准确的分页结果中,我虽然抛弃了大家不喜欢的游标,但是临时表还是存在的,但是ascrat老兄的意思被我误解了一半,所以,哈哈。。。。。。。下面是老兄在上一篇的回复,我又重新修改了T-SQL,这回要比上回的更好。 感谢老兄的指点,希望大家贡献更好的,感谢大家的参与!!!#2楼 ascrat2010-05-23 23:51 呃...可能... 阅读全文
NET 应用架构指导 V2 学习笔记(四) 软件架构的模式和风格
2010-05-23 08:08 by Virus-BeautyCode, 2115 阅读, 收藏, 编辑
摘要:
Layered Architecture Style分层架构风格 分层的架构模式集中在将应用的不同功能分组,进而成为不同的层,就好像栈一样,竖方向一层在一层上面。每一层的功能和一个常用的角色或者职责相关。层之间暴露通信接口,松散耦合。将你的应用分层可以很好的分离关注点,换句话说,支持灵活性和易维护性。 分层的架构风格被描述为倒金字塔行的复用,每一层都集中了一些职责,对它的直接下一层都是抽象的。... 阅读全文
分页存储过程(三)在MS SQL Server中打造更加准确的分页结果
2010-05-22 09:21 by Virus-BeautyCode, 2624 阅读, 收藏, 编辑
摘要:
昨天的那篇分页存储过程(二)在MS SQL Server中返回更加准确的分页结果 中使用了游标,有很多热心的朋友参与讨论,感谢大家的参与。 有人提出游标不好,会锁定行,幸亏我锁定的是临时表,不是数据表,不影响数据表的写操作。 下面是14楼的回复,让我茅塞顿开,于是有了今天的改进版,取消了游标的使用,临时表还是存在的,谢谢。 #14楼 ascrat2010-05-21 21:05 其实你只要分... 阅读全文
.NET 应用架构指导 V2 学习笔记(三) 软件架构的模式和风格
2010-05-22 07:23 by Virus-BeautyCode, 2101 阅读, 收藏, 编辑
摘要:
组件为基础的架构风格 组建为基础的架构描述了一种设计和开发软件系统的软件工程方法。主要集中在将系统划分为单个功能或者是逻辑的组件,组件定义好用来通信的方法、事件和属性。相比面向对象设计原则来说,提供了更高层的抽象,不主要考虑通信协议和状态共享。 组件为基础的风格的关键点是组件的使用: 可重用,通常会将组件设计为在不同的应用、不同的方案中都可以使用。但是,也会设计一些专用的组件。 可替代性,... 阅读全文
分页存储过程(二)在MS SQL Server中返回更加准确的分页结果
2010-05-21 09:47 by Virus-BeautyCode, 3779 阅读, 收藏, 编辑
摘要:
在我的使用SQL Server2005的新函数构造分页存储过程中,我提到了使用ROW_NUMBER()函数来代替top实现分页存储过程。 但是时间长了,又发现了新问题,就是主子表的分页查询。例如:订单表和订单明细表,要求是查询订单,第二页,每页10条 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http:... 阅读全文
.NET 应用架构指导 V2 学习笔记(二) 软件架构的模式和风格
2010-05-21 06:57 by Virus-BeautyCode, 3319 阅读, 收藏, 编辑
摘要:
本节主要讨论在目前的应用中,经常使用的高层的模式和原则。通常会涉及架构风格,包括模式,例如:C/S,分层架构,组件为基础的架构,消息总线架构,SOA架构。对于每一种架构,都会从整体、主要原则、主要优点,和帮助你的应用选择合适的架构风格上讲述一些信息。描述不同类型的应用的风格很重要。例如:一些架构模式描述部署模式,一些描述结构和设计问题,另外一些描述通信因素。因此,在本章中,一个典型的应用将会组合包... 阅读全文
.NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
2010-05-20 00:34 by Virus-BeautyCode, 4060 阅读, 收藏, 编辑
摘要:
原著名称《.NET Application Architecture Guide,2nd Edition》,应该可以从微软的官网下载到,是微软的模式与实践小组的大作。Patterns & Practices在http://www.codeplex.com/上面有很多的好作品,其实.NET平台也有很好的开源项目,也有很广的选择面,只是这些不像java那么开放,.NET的开源是微软主导的。 ... 阅读全文
用微软.NET架构企业解决方案 学习笔记(三)设计原则
2010-05-19 07:09 by Virus-BeautyCode, 3083 阅读, 收藏, 编辑
摘要:
原版书名《Architecting Microsoft .NET Solutions for the Enterprise》 前言 设计软件系统是非常有挑战性的,因为一方面需要你集中在今天的需求,同时要求可以适应未来对功能的修改和增加。 尤其是在过去的二十年,在IT行业中,使得软件开发过程系统化,已经做了很多的工作。方法论,设计原则,设计模式,都是用来帮助指导架构和构建系统,以一种规范的方式... 阅读全文
微软企业库5.0学习笔记(三十五)数据访问模块 DataSet以及数据库事务
2010-05-16 11:52 by Virus-BeautyCode, 5816 阅读, 收藏, 编辑
摘要:
使用DataSet进行工作 使用Database类的ExecuteDataSet方法获取DataSet对象,在DataSet对象中,默认的表名称依次为Table,Table1,Table2.。。。。。。。。。。。。 如果你想要将数据加载到一个已经存在的DataSet对象中,可以使用LoadDataSet方法。 代码 Code highlighting produced by Actipro ... 阅读全文
微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
2010-05-16 10:33 by Virus-BeautyCode, 4945 阅读, 收藏, 编辑
摘要:
以对象形式从数据库获取数据 现代的很多编程技术都集中在“数据就是对象”这个概念。如果你在应用层之间使用Data Transfer Objects (DTOs)传输数据的话,这个方法就很有用,使用ORM实现一个数据访问层,或者是客户端查询技术,例如LINQ。 数据库访问模块实现了这个功能,允许你执行SQL或者是存储过程,可以返回一个对象序列,但是要求序列实现IEnumer... 阅读全文
微软企业库5.0学习笔记(三十三)数据访问模块
2010-05-14 07:08 by Virus-BeautyCode, 9275 阅读, 收藏, 编辑
摘要:
前言 鉴于企业库5.0已经发布正式版,同时有广大读者的要求(臭屁一下,o(∩_∩)o...),后面文章的内容和代码将基于Enterprise Library5.0和Unity2.0来写,感谢大家的一贯支持。 正文 数据库访问模块都能实现哪些功能呢?数据库访问模块抽象类你正在使用的数据库,提供了一些列接口,使得你可以更容易的实现常用的数据库访问功能。例如:使用Datab... 阅读全文
关于日志模块的设计
2010-05-12 19:46 by Virus-BeautyCode, 7301 阅读, 收藏, 编辑
摘要:
目录1 使用技术以及外部框架... 12 详细描述... 12.1概况... 12.1.1记录的内容... 12.1.2日志记录的位置及相应的内容... 22.1.3日志的类型... 22.1.4日志功能的配置... 32.1.5配置节类的用法... 112.2数据库日志... 122.3文件日志... 132.3.1记录方式... 132.3.2文件日志的格式... 131 使用技术以及外部框架... 阅读全文
微软企业库4.1学习笔记(四十一)依赖注入模块Unity 简介
2010-05-07 13:41 by Virus-BeautyCode, 3220 阅读, 收藏, 编辑
摘要:
模块Unity是一个轻量的、可扩展的依赖注入容器,支持构造函数注入、属性注入、方法调用注入。你可以用它创建企业库对象,也可以创建自定义的业务对象。Unity和企业库中的其他模块有一些不同点: 你可以独立的使用Unity模块来实现依赖注入技术,不需要其他模块的辅助。 Unity支持用配置文件来准备容器,也支持在运行的时候用代码动态注册依赖关系。 Unity和企业库的核心库没有依赖关系。它包含了... 阅读全文
微软企业库4.1学习笔记(三十七)日志模块 在应用中使用日志模块
2010-05-06 19:51 by Virus-BeautyCode, 4625 阅读, 收藏, 编辑
摘要:
上图是一个日志模块的基本配置,本节我们就来讲述一些关于他的内容和代码示例。 默认情况下,在web.config文件中的配置信息是明文的,你可以用.NET自带的加密解密保护机制将配置信息加密,也可以用企业库提供的保护机制。在配置工具中就可以选择,如下图所示 无论你选择那一种,保存之后,你打开web.config文件,就会发现原来明文的日志配置节,变成了下面的加密格式(不用开发者操心解密的事情,... 阅读全文
微软企业库4.1学习笔记(三十六)日志模块 简介
2010-05-06 17:34 by Virus-BeautyCode, 3603 阅读, 收藏, 编辑
摘要:
日志模块企业库的日志模块简单的实现了日志功能的常用功能。开发者可以利用模块在下面的位置记录信息: 事件日志 电子邮件 数据库 消息队列 文本文件 WMI的事件查看器 自定义的位置模块为记录在任何位置的日志信息都提供了一系列接口。在你的应用中不需要指明信息的目的地。配置信息决定了是否记录日志,以及日志记录的位置。这就意味着开发者不需要修改应用代码就可以变更日志的行为。 本节包含下面的内容: 简介 使... 阅读全文
微软企业库4.1学习笔记(三十二)数据访问模块 在应用中使用数据访问模块
2010-05-04 22:20 by Virus-BeautyCode, 3767 阅读, 收藏, 编辑
摘要:
本篇讲述如何在应用中使用数据访问模块。首先,讲述如何配置模块并且和应用整合;其次是,如何使用数据访问模块完成常用的功能,例如,获取单条数据,或者是使用DataSet返回多条数据;最后,讲述一些关系连接管理、参数处理、异常处理的主题。 主要包括下面的主题: 配置模块 在应用中添加代码 创建Database对象 创建DbCommand对象 管理连接 使用TransactionScope类... 阅读全文
微软企业库4.1学习笔记(三十一)数据访问模块 简介
2010-05-04 00:09 by Virus-BeautyCode, 3117 阅读, 收藏, 编辑
摘要:
Unity模块对我来说学习起来还是有一定的难度的,很多东西都是第一次学习,有些东西理解的不透侧,所以Unity后面的内容想要等自己继续理解一下,后面给大家补充回来吧,先开始后面的章节。大概看了一下Unity后面的内容,计划给它留下四篇blog的地方,所以数据访问模块从三十一开始,感谢大家的支持。 下面我们回到正题。 Data Access Appliction Block 简介 企业库的数据... 阅读全文
微软企业库4.1学习笔记(二十六)Unity依赖注入模块3
2010-05-02 23:04 by Virus-BeautyCode, 2652 阅读, 收藏, 编辑
摘要:
配置运行时支持数组 [代码][代码].ConfigureInjectionFor<Foot>(newInjectionConstructor(newResolvedArrayParameter<IBar>());代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Cod... 阅读全文
微软企业库4.1学习笔记(二十五)Unity依赖注入模块2
2010-05-01 23:14 by Virus-BeautyCode, 4030 阅读, 收藏, 编辑
摘要:
Unity模块的亮点 Unity模块包括了下面的特点 提供了一个创建对象,以及依赖的对象的方法 提供的RegisterType方法用来在容器中注册类型和映射,Resolve方法可以返回任何依赖对象的实例。 提供控制反转IOC功能,通过预先配置注入类的对象来实现。你可以在构造函数中指明一个类或者接口(构造函数注入),或者是使用attribute的属性注入,和方法调用注入。 支持容器继承,容... 阅读全文
微软企业库4.1学习笔记(二十四)Unity依赖注入模块 简介
2010-05-01 10:04 by Virus-BeautyCode, 2937 阅读, 收藏, 编辑
摘要:
企业库的依赖注入模块Unity是一个轻量的、可扩展的依赖注入容器,支持构造函数注入、属性注入、方法调用注入。你可以用它创建企业库的对象,或者是自定义的对象。但是,Unity模块和企业库中的其他模块有很多的不同点: 你可以在不安装企业库的情况下,直接使用Unity模块的依赖注入功能。 Unity模块可以通过配置信息来准备容器,也可以在运行的时候在代码中动态创建依赖关系。 Unity模块不依赖于... 阅读全文