代码改变世界

随笔分类 -  04 模式架构

微软企业库5.0学习笔记(四十二)异常处理模块

2010-06-14 00:04 by Virus-BeautyCode, 3597 阅读, 收藏, 编辑
摘要: 企业库的异常处理模块,帮助开发者和策略制定者实现常用的设计模式,创建一致的异常处理策略。  一个健壮的、设计良好的异常处理策略是系统设计和实现的重要功能,帮助你避免暴露敏感信息,避免处于不一致的状态。  一个异常处理策略由一系列策略组成,定义了如何为操作者、管理员、技术支持者提供适当的帮助。  给用户以友好的提示信息。  在日志或者是其他位置存储异常信息。  帮助技术支持者跟踪原因。  企业库的异... 阅读全文

NET 应用架构指导 V2 学习笔记(二十二) 设计数据访问组件

2010-06-09 06:53 by Virus-BeautyCode, 2081 阅读, 收藏, 编辑
摘要: 概况  数据层组件提供了访问系统边界内,或者是其他系统暴露的数据的方法。包括数据访问组件,用来访问系统边界内的数据,服务代理组件,用来访问其他服务暴露的数据。另外,还可能包含其他帮助功能和工具类的组件。  本章将帮助你理解设计数据组件基本的步骤。第一步是确定对于访问的数据有什么限制条件,帮助你选择适当的数据访问技术。接下来是选择映射策略,决定数据访问方法。然后决定数据访问组件如何连接数据源。最后,... 阅读全文

NET 应用架构指导 V2 学习笔记(二十一) 设计业务实体

2010-06-08 07:05 by Virus-BeautyCode, 2040 阅读, 收藏, 编辑
摘要: 概况  业务实体存储数据,通过属性暴露数据,包含并管理应用需要用的数据,同时提供编程访问及相关的功能。业务实体应该在内部进行数据有效性验证,并且封装业务逻辑来保证一致性,实现业务规则和行为。因此,设计适当的业务实体,对于最大化性能和高效性的业务层来说,是非常重要的。  本章将帮助你理解业务实体组件的设计。首先,看看应用中使用的不同数据格式,以及数据被如何使用。接下来,你将会学到,在设计中,已有的数... 阅读全文

NET 应用架构指导 V2 学习笔记(二十) 业务组件设计指导

2010-06-07 06:58 by Virus-BeautyCode, 2761 阅读, 收藏, 编辑
摘要: 前言  业务组件的设计是非常重要的工作,如果你没有正确的设计业务组件的话,结果很可能就是代码难以维护和扩展。在设计和实现应用的时候,有多种类型的业务组件。包括业务逻辑组件,业务实体,业务流程或者是工作流组件,工具和帮助组件。  设计步骤  1 确定在应用中将会使用的业务组件  在业务层,你需要创建和使用各种类型的组件来处理业务逻辑。本步骤的目标就是如何识别这些组件,发现应用需要的组件。下面的步骤帮... 阅读全文

NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导

2010-06-06 06:15 by Virus-BeautyCode, 2168 阅读, 收藏, 编辑
摘要: 5 决定数据绑定的需求  数据绑定在应用中,提供了一种在用户界面的控件和数据或者逻辑组件建立连接的方式。数据绑定允许你将数据库的数据,或者是其他结构的数据进行显示或者和他们进行交互。数据绑定是绑定目标(用户控件)和绑定源(数据结构、Model、或者是表现层逻辑组件)之间的桥梁。    数据绑定控件是一些绑定到数据源的控件。例如:DataGrid控件绑定要一个集合。数据绑定通常使用在分离的表现模式(... 阅读全文

NET 应用架构指导 V2 学习笔记(十八) 表现层组件设计指导

2010-06-05 21:09 by Virus-BeautyCode, 2124 阅读, 收藏, 编辑
摘要: 本章讲述的是你在设计用户界面组件和表现层逻辑组件的时候应该有的步骤。首先需要理解用户界面的需求,选择适当的技术。然后决定如何将表现逻辑和数据绑定要UI控件上。确保你理解了用户界面中的异常错误处理和合法性验证。下面就是设计的步骤。  1 理解用户界面的需求  理解用户界面的需求是决定UI类型、技术、和控件类型的关键。你的用户界面应该被应用的功能和用户体验所驱动。  从认识应用的用户开始,理解用户希望... 阅读全文

NET 应用架构指导 V2 学习笔记(十七) 组件设计指导

2010-06-05 00:48 by Virus-BeautyCode, 2047 阅读, 收藏, 编辑
摘要: 组件提供了一种将功能划分的方式,可以分开安装和部署。  组件设计的常用原则  在设计组件的时候,可以参考下面的原则:  对于组件中的类,应该遵守S.O.L.I.D的类设计原则。这方面大家可以参考:面向对象设计的SOLID原则。简单的说,S.O.L.I.D原则就是:  Single responsibility principal:单一职责原则,一个类应该只有一个职责。  Open/Closed p... 阅读全文

NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导

2010-06-04 00:13 by Virus-BeautyCode, 2509 阅读, 收藏, 编辑
摘要: 如果你的应用是通过服务来提供功能,将服务分离出来一层是相当重要的。这篇将介绍服务的设计,和设计服务的过程中可能遇到的问题,以及服务的设计步骤。  在服务层,你定义服务接口的实现,以及数据契约。一个重要的概念就是服务不应该暴露实现的细节,已经在应用内部使用的业务实体。确保你的业务实体不至于过度影响数据契约。服务层应该提供翻译数据契约和业务实体的组件。    上图中的深黑色框中的就是服务层。服务层通常... 阅读全文

NET 应用架构指导 V2 学习笔记(十五) 数据访问层指导 技术、性能、安全、部署、以及设计步骤考虑

2010-06-03 09:30 by Virus-BeautyCode, 2523 阅读, 收藏, 编辑
摘要: 技术考虑  下面的原则帮助你选择适当的技术,依赖于设计的应用类型和应用的需求:  如果你需要基本的查询和参数,考虑直接使用ADO.NET的对象。  如果你需要支持复杂的数据访问方案,或者是想简化你的数据访问代码,考虑使用企业库的数据访问模块,更多信息请查看http://entlib.codeplex.com/。  如果你在已经存在数据库的情况下,创建数据驱动的web应用程序,考虑使用ASP.NET... 阅读全文

NET 应用架构指导 V2 学习笔记(十四) 数据访问层指导

2010-06-03 00:33 by Virus-BeautyCode, 2229 阅读, 收藏, 编辑
摘要: 查询  查询是数据访问层中主要的操作。他们是将应用的请求翻译为对数据库的CRUD行为。因为查询如此关键,应该优化它们,来最大化数据库的性能。可以参考下面的设计原则:  使用参数化的SQL查询,可以减少安全问题,减少SQL注入攻击。不要使用用户输入的内容进行字符串的拼接。  考虑使用对象创建查询。例如:实现查询对象模式,或者使用ADO.NET支持的参数化查询。考虑为查询的执行优化数据库的数据结构。 ... 阅读全文

NET 应用架构指导 V2 学习笔记(十三) 数据访问层指导

2010-06-02 13:21 by Virus-BeautyCode, 2242 阅读, 收藏, 编辑
摘要: 数据访问层简介    上图的深黑色框中的就是数据访问层,通常包括下面的部分:  数据访问组件。这些组件抽象了对于存储在数据库的内容的访问。将常用的数据访问集中化,是的应用很容易配置和维护。一些数据访问框架,还允许开发者在helper和数据访问组件的基础上实现自定义的访问组件。其他的数据访问组件,例如ORM框架,自动实现了数据访问组件,减少了开发者需要编写的数据访问代码。  服务代理。如果业务逻辑需... 阅读全文

NET 应用架构指导 V2 学习笔记(十二) 业务逻辑层的设计步骤

2010-06-01 00:07 by Virus-BeautyCode, 1836 阅读, 收藏, 编辑
摘要: 部署方面的考虑  当部署业务逻辑层的时候,一定要考虑生产环境的性能和安全问题。可以参考下面的原则:  考虑将业务逻辑层和表现层部署在同一个物理层,最大化的提高性能,除非你由于伸缩性或者是安全的考虑,需要分层部署。   如果你一定要支持远程业务逻辑层,考虑使用TCP协议提高应用的性能。  考虑使用Internet Protocol Security(IPSec)保护在物理层传输的数据。  考虑使用S... 阅读全文

NET 应用架构指导 V2 学习笔记(十一) 业务逻辑层指导

2010-05-31 07:19 by Virus-BeautyCode, 2852 阅读, 收藏, 编辑
摘要: 业务逻辑层简介    上图的粗黑色边框的部分就是业务逻辑层,可以包含下面的内容:   application facade应用外观。这个可选的组件为业务逻辑组件提供一个简单的接口,通常会将多个业务操作合并为一个操作,使得业务逻辑层更容易使用。可以减少依赖,因为外部调用者不需要知道业务逻辑组建的实现细节和他们之间的关系。  业务逻辑组件。在任何应用中,业务逻辑的定义都会集中在获取数据、处理数据、传输... 阅读全文

NET 应用架构指导 V2 学习笔记(十) 表现层的主要技术及设计步骤

2010-05-30 14:55 by Virus-BeautyCode, 2276 阅读, 收藏, 编辑
摘要: 主要的技术及常用的模式。  移动应用  在设计移动应用的时候可以参考下面的原则:  如果你想要构建一个基于windows的完全在线、偶尔在线、离线的应用,可以考虑使用windows compact framework。  如果你想构建一个支持各种移动设备,或者是需要WAP协议,compact HTML的联网应用,可以考虑使用ASP.NET 。  富客户端应用  在设计富客户端应用的时候可以参看下面... 阅读全文

NET 应用架构指导 V2 学习笔记(九) 表现层指导

2010-05-29 06:51 by Virus-BeautyCode, 2122 阅读, 收藏, 编辑
摘要: 本章将会讲述在表现层的设计中的关键问题。帮助你理解在典型的分层应用架构中表现层是怎么杨的?通常包括什么?设计表现层会碰到的关键问题?你将会看到设计指导,推荐的设计步骤,相关的设计模式,可以选择的技术。  表现层组件的实现包括用来显示的用户接口,以及对于用户交互的管理。显示包括用户输入和显示的控件,还有管理用户的交互行为。下图中的粗黑线框中的内容就是表现层。    表现层通常包括下面的部分:   U... 阅读全文

NET 应用架构指导 V2 学习笔记(八) 分层应用指导

2010-05-28 07:24 by Virus-BeautyCode, 2567 阅读, 收藏, 编辑
摘要: 本章将讨论将逻辑组件分组之后分布在不同的层,这样的一种应用。层集中关注单个逻辑和功能组件,不考虑组件的物理存放位置。逻辑层可以放在不同的物理层,也可以放在同一个物理层。本章将会交给你如何将你的应用分解为不同的逻辑层,如果选择合适的功能布局,应用如何支持多种客户端类型。  分清楚逻辑层和物理层的区别是非常重要的,逻辑层描述的是功能逻辑和组件的分组,物理层描述的是功能和组件在不同机器上的部署分布。尽管... 阅读全文

NET 应用架构指导 V2 学习笔记(七) 软件架构和设计方法

2010-05-27 07:23 by Virus-BeautyCode, 2245 阅读, 收藏, 编辑
摘要: 本篇详细介绍架构的步骤  1、确定架构的目标  架构的目标就是你的结构和设计过程的目的和限制,练习的范围,帮助你决定什么时候算是完成了。在你确定架构的目标的时候,可以参考下面的几个关键点:  首先确定架构的目的。你花在架构和设计的每一个阶段的总时间,将会依赖于这些目的。例如:你是否建立原型?是否测试潜在的路径?是否为一个新的应用已经开始长期的架构过程?  确定谁将会消费你的架构。确定你的架构是否会... 阅读全文

NET 应用架构指导 V2 学习笔记(六) 软件架构和设计方法

2010-05-26 07:17 by Virus-BeautyCode, 2315 阅读, 收藏, 编辑
摘要: 输入、输出和设计步骤  设计输入可以帮助确定你的架构一定要满足的需求和限制。通常输入就是用例和使用方案,功能需求,非功能需求(包括质量特性,例如:性能、安全、可靠性、和其他的),技术需求,目标部署环境,和其他限制。  在设计的过程中,你将会建立多个架构的用例,架构问题包括特殊的关注点,满足在设计过程中定义的需求和限制的候选架构方案。常用的方法就是不断的重新设计,直到满足所有的需求,保持了所有的限制... 阅读全文

NET 应用架构指导 V2 学习笔记(五) 软件架构的模式和风格

2010-05-24 23:17 by Virus-BeautyCode, 2584 阅读, 收藏, 编辑
摘要: n-tier/3-tier architecture style   n层/3层架构风格  n-tier和3-tier是一种描述架构部署风格的,用来将功能分为不同的部分,有点像分层架构模式,但是一个部分可以部署到不同的物理机器。  n-tier应用架构分解应用的功能,服务组件,分布式部署,提供改进的扩展性,可管理性。每一层都独立于其它层,除非他们是上下层关系。第n层只需要指导如何处理来自n+1层的... 阅读全文

NET 应用架构指导 V2 学习笔记(四) 软件架构的模式和风格

2010-05-23 08:08 by Virus-BeautyCode, 2113 阅读, 收藏, 编辑
摘要: Layered Architecture Style分层架构风格  分层的架构模式集中在将应用的不同功能分组,进而成为不同的层,就好像栈一样,竖方向一层在一层上面。每一层的功能和一个常用的角色或者职责相关。层之间暴露通信接口,松散耦合。将你的应用分层可以很好的分离关注点,换句话说,支持灵活性和易维护性。  分层的架构风格被描述为倒金字塔行的复用,每一层都集中了一些职责,对它的直接下一层都是抽象的。... 阅读全文