我自己的一生

是你的,是我的,到底是谁的?

导航

文章分类 -  使用DotNET设计应用程序和服务的应用架构指南

这是对“微软模式与实践”所著文章的翻译
摘要:数据访问逻辑组件 无论你选择的数据存储是什么,应用程序或服务都要使用数据访问逻辑组件来访问数据。这些组件抽象了暗含在数据存储和数据访问技术(如。ADO.NEt)里面的语义,提供简单的程序接口为获取和执行数据的操作。 数据访问逻辑组件一般实现是无状态模式,从数据访问逻辑中隔离业务处理。每个数据访问逻辑组件典型的是提供创建(Create),读取(ready),刷新(Update)和删除(Del... 阅读全文

posted @ 2009-03-04 16:03 Abbott zhao 阅读(348) 评论(0) 推荐(0) 编辑

摘要:设计数据层 几乎所有的应用程序和服务都需要存储和访问某些类型的数据。例如,在本指南中讨论的零售应用程序需要存储产品,客户和订单数据。 当与数据发生作用时,需要决定: l 正在使用的数据存储。 l 组件的设计常考虑访问数据存储。 l 组件之间传递的数据格式,和它需要的编程模式。 应用程序或者服务可以拥有一个或者多个数据来源,这些数据来源可能是不同的类型。这个常使用一个数据源访问数据的逻辑... 阅读全文

posted @ 2009-03-04 15:58 Abbott zhao 阅读(194) 评论(0) 推荐(0) 编辑

摘要:表现数据和通过层传递它 当数据访问逻辑组件返回数据时,他们可以使用一批的数据格式。这些格式来源于不同的数据为中心(例如,一个XML字符串),这些数据中心更多是面向对象(例如,封装业务实体的自定义组件)。返回数据的一部格式有: l XML l DataReader l DataSet l 类型化的DataSet l 自定义对象,使用属性映射数据字段,通过数据访问逻辑组件执行数据修改的方法。 ... 阅读全文

posted @ 2009-03-04 15:55 Abbott zhao 阅读(191) 评论(0) 推荐(0) 编辑

摘要:设计服务接口 如果把业务功能作为一个服务暴露,需要为客户端调用提供一个入口点,这个入口点抽象了内部实现。也可以使用不同的认证要求和服务层面协定(SLA)委托为不同的调用者暴露相似的功能。通过创建一个服务接口提供一个入口点到服务。 一个服务接口是一个软件实体的作为外观的典型实现,处理映射和转换服务来允许和服务的通讯,强迫执行通讯的一个处理和一个策略。服务接口暴露方法,可以被个别调用,或者在一... 阅读全文

posted @ 2009-03-04 15:54 Abbott zhao 阅读(195) 评论(0) 推荐(0) 编辑

摘要:用DotNET实现业务组件 可以使用DotNET框架创建封装业务逻辑的组件。对于分布式事务和其它在分布式应用程序中需要的一般服务,托管代码可以发挥Enterprise Services(COM+)的优势。 业务组件: l 被用户处理层、服务接口和其它业务过程调用,特别是拥有在上面操作的一些业务数据,用复杂的数据结构表示的(一个文档)。 l 是事务处理的根,因此必须选出它... 阅读全文

posted @ 2009-01-15 13:40 Abbott zhao 阅读(252) 评论(0) 推荐(0) 编辑

摘要:设计业务层 应用程序的核心是它提供的业务功能。一个应用程序执行一个业务过程,这个过程有一个或多个任务组成。在最简单的情况下,每个任务被封装在一个DotNET组件的方法里,被同步或者异步调用。更复杂的业务过程,需要多步和长期运行的事务处理,应用程序需要有一些方法编排业务任务和存储状态,直到过程被处理完成。在这些场景下,可以使用BizTalk Server Orchestration来定义业务流程... 阅读全文

posted @ 2009-01-12 13:06 Abbott zhao 阅读(199) 评论(0) 推荐(0) 编辑

摘要:用户处理组件接口设计 用户处理组件的接口要暴露以下类型的功能性,如图2.5所示。 l 用户处理的“行为”(1)。有一些行为接口,这些接口典型的用法是触发用户处理状态的改变。行为被实现在用户处理组件的方法内,如在前面的代码中的ShowOrder, EnterPaymentDetail, PlaceOrder,和Finish方法。在这些行为方法中用于封装对业务组件的调用(6)。 l 状态... 阅读全文

posted @ 2009-01-10 16:13 Abbott zhao 阅读(352) 评论(0) 推荐(0) 编辑

摘要:分隔用户交互的功能到用户界面和用户处理组件,可以提供以下优势: l 长期运行的用户交互状态更容易持久,允许一个用户交互被抛弃和重新执行,甚至可以使用不同的用户界面。例如,一个客户增加一些项到一个购物篮中,他使用的是WEB用户界面,然后让一个销售代表稍后技术订单。 l 相同的用户处理可以被多个用户界面重用。例如,在零售应用程序中,同一个用户处理被用于增加产品到一个购物篮,这个处理可以使用WEB界... 阅读全文

posted @ 2009-01-10 16:10 Abbott zhao 阅读(272) 评论(0) 推荐(0) 编辑

摘要:从用户界面访问数据访问逻辑组件 数据访问逻辑组件暴露一些查询逻辑,有些应用程序的用户界面使用这些查询更容易展现数据。无论你的用户界面组件是否直接调用数据访问接口,你都不能用业务处理组件混合数据访问逻辑。 从你的用户界面直接访问访问数据访问逻辑组件,似乎同分层概念是矛盾的。然而,从你的应用程序的角度看,作为一个同系统的服务,这样的情况是有益的。你调用它,由它做主决定匹配内部组件请求的最合适响... 阅读全文

posted @ 2009-01-07 09:10 Abbott zhao 阅读(237) 评论(0) 推荐(0) 编辑

摘要:Windows桌面用户界面 当你必须提供不连线,或者脱机能力,或者提供丰富的用户交互,或者提供和其它应用程序集成时,Windows用户界面就有被使用的价值。Windows用户界面可以发挥它更广泛的优势,这些优势包括状态管理,持续选择和访问本地进程的能力。有三个主要的独立的用户界面家族:“填充式(full—blown)”基于Windows的应用程序,包括内嵌HTML的基于Windo... 阅读全文

posted @ 2009-01-05 17:19 Abbott zhao 阅读(456) 评论(0) 推荐(0) 编辑

摘要:设计表现层 表现层包含的一些组件,是赋予用户和应用程序交互的能力。许多简单的表现层包含用户界面组件,如,Window Form或者ASP.NET Web Form。更复杂的用户交互,你需要设计用户处理组件,来编排用户界面元素和控制用户交互。当用户交互跟进的是一个可预知的步骤流时,用户处理组件就特别有用,比如,一个完成任务的向导。图2.2展现了表现层的组件类型。 图2.2 表现层 在如... 阅读全文

posted @ 2008-12-31 09:26 Abbott zhao 阅读(266) 评论(1) 推荐(0) 编辑

摘要:设计应用程序和服务的组件 第一章描述了一个应用程序或者服务是如何别多样的组件合成的,每个组件执行不同类型的任务。无论特定的业务是什么,每个软件的解决方案都包含相似类型的组件。例如,许多应用程序都包含访问数据,封装业务规则,处理用户交互等等。识别出在分布式软件解决方案中的一般类型的组件,有益于有构造一个蓝本,用于应用程序或服务的设计。 本章内容 这章包含下面的章节: l 组件类型 l ... 阅读全文

posted @ 2008-12-23 17:52 Abbott zhao 阅读(473) 评论(0) 推荐(0) 编辑

摘要:一个场景范例 这个范例可以帮助识别一般种类的组件,这个指南描述一个使用外部服务的应用程序范例。虽然这个指南关注是一个特定的例子,无论实际的业务场景是什么,所给予的设计建议可以应用到许多分布式应用程序。 把这章前边描述的零售应用程序做一个扩展,就是在这个指南中描述的场景范例。在这个场景中,一个零售公司通过一个电子商务WEB站点或者电话提供客户进行产品订购的选择。互联网用户可以浏览公司的Web... 阅读全文

posted @ 2008-12-20 18:26 Abbott zhao 阅读(296) 评论(0) 推荐(0) 编辑

摘要:接 第一章:介绍(1-1) 如果你的应用程序使用一个外部服务,这个服务的内部实现和你的设计是不相关的----只要服务做了它应做的职责就可以。你只需要简单地知道这个服务提供的业务功能和它要求的契约明细,这个契约明细是为了和它通讯(诸如,通信格式,数据结构,认证机制,等等)。在零售应用程序的例子中,信用卡认证服务提供一个接口,通过它,销售和信用卡明细可以通过服务,且做出一个反馈,表明这个销售是否被... 阅读全文

posted @ 2008-12-16 09:49 Abbott zhao 阅读(253) 评论(0) 推荐(0) 编辑

摘要:介绍 使用DotNet框架构建分布式解决方案的开发人员和应用程序架构师,本指南可以提供架构和设计层面的指导。 本指南适合你从事以下活动: l 设计高层次应用或者服务架构。 l 为你的应用程序或服务,推荐合适的技术和产品。 l 做出适合功能性和非功能性(运行)需求的决策。 l 为你的应用程序或服务选择合适的通讯机制。 这个指南可以在开发早期阶段帮助你识别出关键的设计决策,... 阅读全文

posted @ 2008-12-15 11:25 Abbott zhao 阅读(417) 评论(1) 推荐(0) 编辑

摘要:这个指南是我在2004年看到的。在这4年来看了几遍,受益匪浅。一直都想把它翻译成中文,使奋战在软件开发一线的同仁享受这样的果实,但一直担心自己的翻译会误解指南中表达的愿意,期待有才的达人来翻译。这几年中,除了看到一个台湾朋友用繁体字翻译之外(只是部分翻译),没有见到简体中文的翻译,在加上台湾技术用语和我们的技术用语有很大的区别。所以,我还是决定自己来翻译这篇指南。 这篇指南是几... 阅读全文

posted @ 2008-12-15 11:17 Abbott zhao 阅读(321) 评论(3) 推荐(0) 编辑