C# 企业应用开发艺术:CSLA.NET 框架开发实战(.NET应用架构开发经典)(china-pub首发)
基本信息
- 原书名: Expert C# 2008 Business Objects
- 原出版社: Apress
- 作者: (美)Rockford Lhotka [作译者介绍]
- 译者: 侯伯薇
- 丛书名: 图灵程序设计丛书 C#与.NET系列
- 出版社:人民邮电出版社
- ISBN:9787115222206
- 上架时间:2010-3-16
- 出版日期:2010 年4月
- 开本:16开
- 页码:599
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > C#
编辑推荐
.NET应用架构开发经典
揭示CSLA.NET框架的设计权衡
从实践中精通面向对象技术
内容简介回到顶部↑
CSLA.NET 框架成为了微软.NET 平台上最广泛应用的开发框架之一,本书介绍了CSLA.NET 3.6 架构背后的构思过程,描述了怎样搭建支持这个架构的框架,如何创建应用程序的业务对象,并且展示了如何使用这个框架创建基于业务对象的WPF、Web Forms 和WCF 服务应用程序。本书适用于所有C# 开发人员。
作译者回到顶部↑
本书提供作译者介绍
Rockford Lhotka 微软软件传奇人物、微软Regional Director、MVP、INETA发言人,经常在许多国际性会议和用户组大会上发表精彩演讲,是MSDN在线的专栏作家。他还是微软金牌认证合作伙伴Magenic技术公司的传道者。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第1章 分布式架构 1
1.1 逻辑和物理架构 1
1.1.1 n层和soa 3
1.1.2 复杂性 3
1.1.3 逻辑模型和物理模型之间的关系 4
1.1.4 5层逻辑架构 8
1.1.5 应用逻辑框架 12
1.1.6 展望未来 15
1.2 管理业务逻辑 15
1.2.1 可能的业务逻辑位置 16
1.2.2 业务对象 18
1.2.3 移动对象 21
1.3 架构和框架 27
1.4 小结 28
第2章 框架设计 29
2.1 基本设计目标 30
2.1.1 验证规则和业务规则 31
2.1.2 跟踪对象是否改变 32
2.1.3 集成授权 32
2.1.4 子对象的强类型集合 33
1.1 逻辑和物理架构 1
1.1.1 n层和soa 3
1.1.2 复杂性 3
1.1.3 逻辑模型和物理模型之间的关系 4
1.1.4 5层逻辑架构 8
1.1.5 应用逻辑框架 12
1.1.6 展望未来 15
1.2 管理业务逻辑 15
1.2.1 可能的业务逻辑位置 16
1.2.2 业务对象 18
1.2.3 移动对象 21
1.3 架构和框架 27
1.4 小结 28
第2章 框架设计 29
2.1 基本设计目标 30
2.1.1 验证规则和业务规则 31
2.1.2 跟踪对象是否改变 32
2.1.3 集成授权 32
2.1.4 子对象的强类型集合 33
前言回到顶部↑
我一直热衷于框架。作为专业开发人员,20多年以来,我从没发现一个计算平台能够提供我需要的所有东西,让我高效地构建应用程序。微软的.NET平台非常好,但也并不总是能完全如我所愿。为了满足自己的需要,我一直在寻找工具和框架,有时不得不自己创建。
框架仅仅是架构或设计模式的集合。在有一个好框架之前,需要先有一个架构。这意味着你需要对架构和在其上可以创建的应用程序的种类都有一定的设想和目标。
本书介绍怎样应用面向对象的概念进行.NET应用程序架构的设计和开发,重点介绍如何在包括Web和C/S结构的各种分布式环境下创建业务对象并加以实现,书中使用了大量的.NET技术、面向对象的设计和编程概念以及分布式架构。
本书的很大一部分是我设计和创建CSLA.NET框架的思考过程,这个框架用来支持面向对象的.NET应用程序开发。它包括很多架构的概念和思想,也包括一些创建框架所使用的.NET高级技术的深度应用。
本书也演示了如何使用这个框架构建一个带有多种接口的示例应用程序。如果你愿意,完全可以跳过框架设计章节,直接使用框架构建面向对象的应用程序。
我创建CSLA.NET框架的一个主要目的是为了简化.NET开发。开发人员使用本书中介绍的框架,无需考虑底层的技术细节,例如远程访问、序列化或者反射。所有这些功能都被内建在框架中,所以使用它的开发人员几乎可以完全专注于业务逻辑和应用程序设计,而不必再为底层技术细节劳神费力。
本书对上一版本(Expert C# 2005 Business Objects)做了重大修改,加入了.NET 3.5的新特性,并应用了过去几年里.NET 2.0和3.0所做的改进。
本书是我过去10多年所使用的概念的最新表述。我的目标一直是在分布式多层应用程序中高效地使用面向对象的设计。在这些年中,无论是技术还是我对这些概念的理解和表述都有了巨大的进步。
从CSLA .NET 2.0到3.6
在过去的8年中,CSLA.NET框架成为了微软.NET平台上最广泛应用的开发框架之一。自从我在2001年发布了.NET版本,这个框架已经成熟和改进了很多。这要归功于.NET平台自身的变化以及CSLA.NET社区的活跃和积极贡献。
CSLA.NET是一个被我称为CSLA的底层架构的映射,从而成为一个基于组件的、可扩展的逻辑架构。在过去的几年中,我收到了上百封邮件,它们来自于使用CSLA作为其架构基础的开发人员。这些开发人员创建了各式各样的应用程序,小到单用户程序,大到支撑核心业务的大型企业应用程序。
这个框架包括面向对象软件开发的两个主要领域:
如何使用业务对象高效地构建Windows、Web和面向服务的应用程序;
如何在分布式计算环境中使用面向对象设计。
虽然.NET支持对象的使用,但对象的作者还是要完成大量的工作才能完全支持重要的.NET概念,例如数据绑定。CSLA.NET和本书十分关注如何使对象完全支持数据绑定,以及其他的重要概念,如验证和授权。对于CSLA.NET的大多数使用者来说,这些都是框架所提供的主要优点。
很多开发人员都在构建分布式多层或面向服务的应用程序。在分布式环境中使用面向对象设计和业务对象,有一些需要解决的难题。CSLA.NET使用多种技术克服这些难题。对于多层C/S应用程序,框架支持移动对象(mobile object)的概念,这些对象确实是在多层环境中不同计算机间移动。移动对象提供了一种在分布式环境中实现面向对象设计的强大方法。对于面向服务的应用程序,CSLA.NET既可以用来构建服务,也可以用来构建边缘应用程序。框架通常用来创建边缘应用程序,但对创建服务或工作流中的活动也经常会有帮助。
因为.NET平台和CSLA.NET框架的改进,所以我进行了大量的修改并加入了很多新特性。在一些情况下,使用新概念和特性需要修改已有的业务对象和用户界面代码。我不会轻易地采取向下兼容,重要的是推进概念的发展,以跟上技术和我关于面向对象和分布式计算的观点的发展。
如果可能,我会尽量降低对现有代码的影响,因此多数应用程序变化不会非常复杂。虽然从3.0版本到3.6版本有一些重大变化,但大多数现有代码很容易升级。即使是2.1版本的代码升级也会相对简单。使用CSLA.NET 1.x或者2.0编写的业务对象在升级时会需要做更多的工作。
过去的几年中,我还收到了一些邮件,说CSLA.NET不是很成功,这并不奇怪。要想有效地使用CSLA.NET,你必须精通面向对象设计,理解移动对象的概念,并加强一系列其他的技能。移动对象架构有很多优点,但它并不是最简单和最容易理解的。
然而,在同一时间内,我也收到了不计其数的由于使用CSLA.NET构建应用程序而取得巨大成功的开发人员发出的邮件。这些应用程序从Windows到网页,从小型到企业级,从零售业到制造业再到军事系统。收到这么多邮件,得知CSLA.NET帮助了全世界这么多的机构和个人,我感到震惊和喜悦,而对于那些盛赞我自愧不如。
框架仅仅是架构或设计模式的集合。在有一个好框架之前,需要先有一个架构。这意味着你需要对架构和在其上可以创建的应用程序的种类都有一定的设想和目标。
本书介绍怎样应用面向对象的概念进行.NET应用程序架构的设计和开发,重点介绍如何在包括Web和C/S结构的各种分布式环境下创建业务对象并加以实现,书中使用了大量的.NET技术、面向对象的设计和编程概念以及分布式架构。
本书的很大一部分是我设计和创建CSLA.NET框架的思考过程,这个框架用来支持面向对象的.NET应用程序开发。它包括很多架构的概念和思想,也包括一些创建框架所使用的.NET高级技术的深度应用。
本书也演示了如何使用这个框架构建一个带有多种接口的示例应用程序。如果你愿意,完全可以跳过框架设计章节,直接使用框架构建面向对象的应用程序。
我创建CSLA.NET框架的一个主要目的是为了简化.NET开发。开发人员使用本书中介绍的框架,无需考虑底层的技术细节,例如远程访问、序列化或者反射。所有这些功能都被内建在框架中,所以使用它的开发人员几乎可以完全专注于业务逻辑和应用程序设计,而不必再为底层技术细节劳神费力。
本书对上一版本(Expert C# 2005 Business Objects)做了重大修改,加入了.NET 3.5的新特性,并应用了过去几年里.NET 2.0和3.0所做的改进。
本书是我过去10多年所使用的概念的最新表述。我的目标一直是在分布式多层应用程序中高效地使用面向对象的设计。在这些年中,无论是技术还是我对这些概念的理解和表述都有了巨大的进步。
从CSLA .NET 2.0到3.6
在过去的8年中,CSLA.NET框架成为了微软.NET平台上最广泛应用的开发框架之一。自从我在2001年发布了.NET版本,这个框架已经成熟和改进了很多。这要归功于.NET平台自身的变化以及CSLA.NET社区的活跃和积极贡献。
CSLA.NET是一个被我称为CSLA的底层架构的映射,从而成为一个基于组件的、可扩展的逻辑架构。在过去的几年中,我收到了上百封邮件,它们来自于使用CSLA作为其架构基础的开发人员。这些开发人员创建了各式各样的应用程序,小到单用户程序,大到支撑核心业务的大型企业应用程序。
这个框架包括面向对象软件开发的两个主要领域:
如何使用业务对象高效地构建Windows、Web和面向服务的应用程序;
如何在分布式计算环境中使用面向对象设计。
虽然.NET支持对象的使用,但对象的作者还是要完成大量的工作才能完全支持重要的.NET概念,例如数据绑定。CSLA.NET和本书十分关注如何使对象完全支持数据绑定,以及其他的重要概念,如验证和授权。对于CSLA.NET的大多数使用者来说,这些都是框架所提供的主要优点。
很多开发人员都在构建分布式多层或面向服务的应用程序。在分布式环境中使用面向对象设计和业务对象,有一些需要解决的难题。CSLA.NET使用多种技术克服这些难题。对于多层C/S应用程序,框架支持移动对象(mobile object)的概念,这些对象确实是在多层环境中不同计算机间移动。移动对象提供了一种在分布式环境中实现面向对象设计的强大方法。对于面向服务的应用程序,CSLA.NET既可以用来构建服务,也可以用来构建边缘应用程序。框架通常用来创建边缘应用程序,但对创建服务或工作流中的活动也经常会有帮助。
因为.NET平台和CSLA.NET框架的改进,所以我进行了大量的修改并加入了很多新特性。在一些情况下,使用新概念和特性需要修改已有的业务对象和用户界面代码。我不会轻易地采取向下兼容,重要的是推进概念的发展,以跟上技术和我关于面向对象和分布式计算的观点的发展。
如果可能,我会尽量降低对现有代码的影响,因此多数应用程序变化不会非常复杂。虽然从3.0版本到3.6版本有一些重大变化,但大多数现有代码很容易升级。即使是2.1版本的代码升级也会相对简单。使用CSLA.NET 1.x或者2.0编写的业务对象在升级时会需要做更多的工作。
过去的几年中,我还收到了一些邮件,说CSLA.NET不是很成功,这并不奇怪。要想有效地使用CSLA.NET,你必须精通面向对象设计,理解移动对象的概念,并加强一系列其他的技能。移动对象架构有很多优点,但它并不是最简单和最容易理解的。
然而,在同一时间内,我也收到了不计其数的由于使用CSLA.NET构建应用程序而取得巨大成功的开发人员发出的邮件。这些应用程序从Windows到网页,从小型到企业级,从零售业到制造业再到军事系统。收到这么多邮件,得知CSLA.NET帮助了全世界这么多的机构和个人,我感到震惊和喜悦,而对于那些盛赞我自愧不如。

点击看大图





加载中...
