C#企业应用开发艺术

出版时间:2010  出版社:人民邮电出版社  作者:Rockford Lhotka  页数:599  译者:侯伯薇  
Tag标签:无  

前言

我一直热衷于框架。作为专业开发人员,20多年以来,我从没发现一个计算平台能够提供我需要的所有东西,让我高效地构建应用程序。微软的.NET平台非常好,但也并不总是能完全如我所愿。为了满足自己的需要,我一直在寻找工具和框架,有时不得不自己创建。框架仅仅是架构或设计模式的集合。在有一个好框架之前,需要先有一个架构。这意味着你需要对架构和在其上可以创建的应用程序的种类都有一定的设想和目标。本书介绍怎样应用面向对象的概念进行.NET应用程序架构的设计和开发,重点介绍如何在包括Web和IC/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是一个被我称为CSLlA的底层架构的映射,从而成为一个基于组件的、可扩展的逻辑架构。在过去的几年中,我收到了上百封邮件,它们来自于使用CSLA作为其架构基础的开发人员。这些开发人员创建了各式各样的应用程序,小到单用户程序,大到支撑核心业务的大型企业应用程序。这个框架包括面向对象软件开发的两个主要领域:口如何使用业务对象高效地构建Windows、Web和面向服务的应用程序;口如何在分布式计算环境中使用面向对象设计。

内容概要

  CSLA.NET框架成为了微软.NET平台上最广泛应用的开发框架之一,《C#企业应用开发艺术:CSLA.NET框架开发实战》介绍了CSLA.NET 3.6架构背后的构思过程,描述了怎样搭建支持这个架构的框架,如何创建应用程序的业务对象,并且展示了如何使用这个框架创建基于业务对象的WPF、Web Forms和WCF服务应用程序。《C#企业应用开发艺术:CSLA.NET框架开发实战》适用于所有C#开发人员。

作者简介

作者:(美国)霍特卡(Rockford Lhotka) 译者:侯伯薇Rockford Lhotlka微软软件传奇人物、微软Regional Direactor、MVP、lNETA泼言人,经常在许多国际性会议和用户组大会上发表精彩演讲,是MSDN在线的专栏作家。他还是微软金牌认证合作伙伴Magenic技术公司的传道者。

书籍目录

第1章 分布式架构1.1 逻辑和物理架构1.1.1 N层和SOA1.1.2 复杂性1.1.3 逻辑模型和物理模型之间的关系1.1.4 5层逻辑架构1.1.5 应用逻辑框架1.1.6 展望未来1.2 管理业务逻辑1.2.1 可能的业务逻辑位置1.2.2 业务对象1.2.3 移动对象1.3 架构和框架1.4 小结第2章 框架设计2.1 基本设计目标2.1.1 验证规则和业务规则2.1.2 跟踪对象是否改变2.1.3 集成授权2.1.4 子对象的强类型集合2.1.5 多级撤销能力2.1.6 用户界面开发者的简单抽象模型2.1.7 支持数据绑定2.1.8 对象持久性和对象一关系映射2.1.9 自定义身份验证2.2 设计框架2.2.1 创建业务对象2.2.2 多级撤销功能2.2.3 数据绑定支持2.2.4 业务和验证规则2.2.5 数据门户2.2.6 自定义身份验证2.2.7 整合授权2.2.8 辅助类型和类2.3 命名空间组织2.4 小结第3章 面向对象应用程序设计3.1 责任驱动设计3.1.1 用例或基于故事的分析3.1.2 带有责任的对象3.1.3 为用例存在的对象3.1.4 行为的标准化3.2 应用程序需求3.3 对象设计3.3.1 最初的设计3.3.2 修订设计3.3.3 自定义身份验证3.4 使用CSLA.NET3.5 数据库设计3.5.1 创建数据库3.5.2 pTracker数据库3.5.3 Securlty数据库3.6 小结第4章 CSLA.NET对象构造型4.1 基本术语和对象图的结构4.2 业务对象生命周期4.2.1 对象的创建4.2.2 取得对象4.2.3 更新可编辑的对象4.2.4 销毁和终结对象4.3 业务类结构4.3.1 Serial1zable或DataContract特性4.3.2 通用区域4.3.3 非公有的默认构造函数4.4 小结第5章 CSLA.NET对象模板5.1 业务类的结构5.1.1 可编辑的根业务对象5.1.2 可编辑的子业务对象5.1.3 可切换的对象5.1.4 可编辑的根集合5.1.5 可编辑的子集合5.1.6 只读的业务对象5.1.7 只读子对象5.1.8 只读集合5.1.9 只读子集合5.1.1 0命令对象5.1.1 1名称/值列表对象5.1.1 2动态可编辑集合5.1.1 3动态可编辑根对象5.1.1 4条件对象5.2 小结第6章 业务框架实现6.1 CSLA.NET项目结构6.1.1 项目目录结构6.1.2 项目设定6.1.3 项目签名6.1.4 支持本地化6.2 Csla命名空间6.2.1 Appl1cationContext6.2.2 BuslnessBase6.2.3 BuslnessListBase6.2.4 CommandBase6.2.5 CriteriaBase6.2.6 DataPortal6.2.7 EditableRootListBase6.2.8 NameValueListBase6.2.9 Propertylnfo6.2.1 0ReadOnlyBase6.2.1 lReadOnlyListBase6.2.1 2SingleCriteria6.2.1 3SmartDate6.2.1 4Uti]1tles6.3 Csla.Core命名空间6.3.1 BuslnessBase6.3.2 ExtendedBindingList6.3.3 IBusinessObject接口6.3.4 ICommandobllect接口6.3.5 IEditableBusinessObject接口6.3.6 IEditableCol1ection接口6.3.7 IReadonlyobject接口6.3.8 IReadOnlyCol1ection接口6.3.9 ISavable接口6.3.1 0ISmartField接口6.3.1 IISupportUndo接口6.3.1 2ITrackStatus接口6.3.1 3IUndoableObject接口6.3.1 4ObjectCloner类6.3.1 5ReadOnlyBindingList6.4 小结第7章 属性声明7.1 声明属性7.1.1 属性声明的选项7.1.2 RegisterProperty和继承7.2 PrOpertyInfOHanager7.3 字段管理器7.3.1 F1eldManager属性7.3.2 FieldDataManager类7.4 小结第8章 对象状态管理8.1 对象状态属性8.1.1 ITrackStatus接口8.1.2 IsNew8.1.3 IsSelfDirty8.1.4 IsDirty8.1.5 IsSelfValid8.1.6 IsVal1d8.1.7 IsSavable8.1.8 IsDeleted8.2 小结第9章 父子关系9.I可编辑的父对象9.1.I父子对象之间的交互9.1.2 IParent接口9.1.3 声明Child属性9.2 可编辑的父集合9.3 小结第10章 数据绑定10.1 Windows窗体10.1.1 对象数据绑定10.1.2 集合数据绑定10.1.3 控件和辅助对象10.1.4 与多个根对象协同工作10.2 WPF10.2.1 对象数据绑定10.2.2 集合数据绑定10.2.3 控件和帮助对象10.3 Web窗体10.4 小结第11章 业务和验证规则11.1 规则类型11.2 Csla.Valldation命名空间11.2.1 RuleHandler委托I1.2.2 RuleArgs类11.2.3 DecoratedRuleArgs类11.2.4 RuleMethod类11.2.5 RuleDescription类11.2.6 ValldationRules类11.2.7 BrokenRule类11.2.8 BrokenRulesCollection类1I.2.9 ValldationException11.3 通用验证规则I1.4 小结第12章 身份验证和授权12.1 身份验证12.1.1 Csla.AppllcationContext User属性12.1.2 Windows身份验证12.1.3 自定义身份验证12.2 授权12.2.1 类型级别授权12.2.2 属性和方法级别的授权12.3 小结第13章 多级撤销13.1 使用撤销13.2 实现撤销13.2.1 ISupportUndo接口13.2.2 NotUndoableAttribute类13.2.3 UndoableBase类13.2.4 BuslnessBase类13.2.5 BusinessListBase类13.3 小结第14章 LINQ to CSLA14.1 使用LINQ降低代码量14.2 LrNQtoCSLA.NET概览14.2.1 将来自于LINQ to Objects的结果进行绑定14.2.2 索引的LINQ查询14.3 LINQ和投影14.3.1 标识投影和LinqBindingList14.3.2 理解LinqBindingList14.4 使用CSLA.NET进行索引检索的概览14.4.1 序列化和索引14.4.2 索引模式14.5 CSLA.NET的IQueryable实现14.5.1 理解表达式树14.5.2 深入探索IQueryProvider14.5.3 LinqBindingList14.6 被索引的LINQ和CSLA.NET14.6.1 管理索引集14.6.2 表达式求值14.6.3 索引对象模型14.7 小结第15章 持久性和数据门户15.1 数据门户设计15.1.1 业务逻辑和数据访问的分离15.1.2 根对象和子对象的统一编码模型15.1.3 通道适配器和消息路由器模式15.1.4 分布式事务支持15.1.5 上下文和位置透明性15.1.6 授权服务调用15.1.7 异步行为15.1.8 对象工厂15.2 基类的支持15.2.1 工厂方法和条件15.2.2 Save方法15.2.3 使用字段管理器更新子对象15.2.4 更新可编辑的集合15.3 反射和动态方法调用15.3.1 MethodCaller类15.3.2 LateBoundObject类15.4 通道适配器15.4.1 RunLoc81特性15.4.2 DataPortal类15.4.3 DataPortal类15.4.4 IDataPortalServer、接口15.4.5 IDataPortalProxy接口15.4.6 LocalProxy类15.4.7 WcfProxy类15.4.8 WcfPortal类15.5 分布式事务支持15.5.1 Transactlonal特性15.5.2 Csla.Server.DataPortal对象15.5.3 SetvlcedDataPortal类l5.5.4 TransactlonalDataPortal类15.6 消息路由器15.6.1 DataPortalSelector类15.6.2 S1mpleDataPortal类15.6.3 FactoryDataPortal类15.6.4 FactoryLoader属性15.6.5 ChildDataPortal类15.7 上下文和位置透明性15.7.1 DataPortalContext类15.7.2 DataPottalResult类15.7.3 CSla.Servet.DataPortal-ExceDtion15.8 小结第16章 其他框架特性16.1 使用SmartDate处理日期16.1.1 初始化结构体16.1.2 支持空日期16.1.3 转换函数16.1.4 文本函数16.1.5 日期函数16.1.6 数据库格式16.2 数据访问16.2.1 管理数据库连接和上下文16.2.2 SafeDataReader16.2.3 DataMapper16.3 Windows工作流基础16.3.1 从对象中启动工作流16.3.2.WorkflowManager类16.4 小结第17章 对业务对象的实现17.1 ProjectTracker对象17.2 设置项目17.3 业务类的实现17.3.1 Project17.3.2 ProjectResources……第18章 数据访问的示例第19章 WPF用户界面第20章 Web窗体用户界面第21章 WCF服务界面

章节摘录

插图:第1章 分布式架构 1.4 小结在本章中,我集中讨论了分布式系统理论,特别是基于移动对象的理论。成功设计分布式系统的关键在于分清逻辑和物理架构之间的区别。逻辑架构用来定义应用程序不同类型代码之间的分离关系。好的逻辑架构的目标是让代码更易于维护、更易懂以及更易于重用。逻辑架构还必须定义足够的层来保证它能够用于要求的物理架构。物理架构定义了其上运行着应用程序的计算机。拥有几个逻辑层的应用程序可能会运行在单独的一台计算机上。你还可能在不同的客户端和服务器上配置相同的逻辑架构。好的物理架构的目标是要在指定的环境中实现性能、可伸缩性、安全性和容错性的最佳平衡。智能客户端应用程序中物理架构的平衡和Web应用程序中的大相径庭。一个Windows应用程序通常在性能和可伸缩性之间权衡,而Web应用程序通常会在性能和安全性之间权衡。本书中,我将使用一个五层的逻辑架构,包括界面层、界面控制层、业务层、数据访问层以及数据存储管理层。在本书后面的部分,我将向你展示如何使用这个架构来创建Windows、Web以及面向服务的应用程序,每种程序都有不同的物理架构。下一章我们会开始框架的设计过程,以达到上面的目的。

编辑推荐

《C#企业应用开发艺术:CSLA.NET框架开发实战》:.NET应用架构开发经典,揭示CSAL.NET框架的设计权衡,从实践中精通面向对象技术。CSLA,NET是目前,NET平台上最广泛使用的开发框架之一。使用这一框架,开发人员不必过于关心底层细节,而可以集中精力考虑业务逻辑和应用设计。《C#企业应用开发艺术:CSLA.NET框架开发实战》展现了设计和创建CSLA,NET框架的整个思考过程。围绕这一框架,作者讲述了怎样用面向对象的思想来搭建,NET应用程序的架构。设计和开发,NET应用,重点介绍如何创建专注于业务的对象,使其适应于各种分布式环境;如何使用它们来搭建基于WPF、Web窗体、WCF、Windows窗体、WF的应用程序。书中还以一个包含多个接口的实例应用,教会读者怎样用好这一框架。无论你在开发中是否采用这一框架。都能从《C#企业应用开发艺术:CSLA.NET框架开发实战》受益匪浅。

图书封面

图书标签Tags

评论、评分、阅读与下载


    C#企业应用开发艺术 PDF格式下载


用户评论 (总计6条)

 
 

  •   目前感觉还不错,感觉有长进。
  •   一般得一般,建议不要买 。
  •   非常不错,帮你通向系统架构师
  •   人邮的书,很少有翻译得这么烂的,不是一般的烂,而是二班的烂啊,完全像是清华翻译的,太奇怪了
  •   能做出这样的框架,作者肯定是高人。只是本书适合高级的程序员或架构师来使用,一般水平的程序员估计理解不到书中的真谛。
  •   终于等到这本书了,为我解开CSLA的种种迷团!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7