.NET组件程序设计(第2版)
刘如鸿 译
出版时间:2007年04月
页数:644
自从2003年出版以来,本书已经成为了.NET面向组件开发的权威指南。
如今,您手上的是《.NET组件程序设计》的第2版。针对Visual Studio 2005和.NET 2.0,作者Juval Lowy对本书进行了全面修订。不仅使第1版中的经典内容更加充实,而且增加了许多新的热点内容,如泛型开发、迭代器和匿名方法介绍、.NET开发框架演进等。书中详尽的阐述和代码示例将极大地帮助您加深对.NET组件开发的理解。
本书更具特色的内容有:泛型编程介绍;作为C#开发业界事实标准的C#代码标准;还有许多实用的帮助类和控件,诸如利用ASP.NET 2.0凭证管理基础架构的安全控件。本书也改写并扩展了第1版中的许多实用帮助类和工具。
它涵盖了如下主题:
● 构建、包装和部署.NET组件
● 实现和接口分离
● 生命周期和资源管理
● 发布和订阅事件
● 使用异步调用
本书极具价值的代码示例、使用技巧、开发警示、设计准则和富有创意的实用工具将帮助您简化开发工作,提高.NET组件开发的效率。无论您已经在使用组件技术,还是正准备进入这个领域,毫无疑问,《.NET组件程序设计》都是一本值得您拥有和时常翻阅的参考书。
Juval Lowy是IDesign(一家专注于.NET咨询和培训的公司)的首席软件架构师。同时作为微软开发社区的知名专家,鉴于他在.NET解决方案设计及移植过程中的杰出贡献,微软公司授予其“软件英杰(Software Legend)”的荣誉称号。
- 前言 I
- 第1章 面向组件编程简介 1
- 基本术语 2
- 面向组件和面向对象编程的比较 3
- 面向组件编程的原则 6
- .NET对于组件原则的遵循 11
- .NET组件开发 13
- 第2章 .NET面向组件的编程要素 15
- 语言独立性:公共语言运行时 15
- 打包和部署:程序集 21
- 二进制兼容性 42
- 第3章 基于接口编程 46
- 接口和实现分离 46
- 使用接口 52
- 接口和泛型 64
- 设计和分解接口 73
- Visual Studio 2005中的接口 77
- 第4章 生命周期管理 82
- 托管堆 82
- 传统内存释放模式 83
- .NET垃圾回收 84
- 对象终结 86
- 确定性终结 90
- 第5章 版本控制 102
- 程序集版本号 102
- 程序集部署模型 105
- 程序集强名称 107
- Visual Studio 2005和版本划分 117
- 自定义版本策略 119
- CLR版本划分 125
- 第6章 事件 129
- 基于委托的事件 130
- 使用.NET事件 136
- 第7章 异步调用 155
- 异步机制的必备条件 156
- 委托的老调重弹 157
- 异步调用编程模型 159
- 异步错误处理 172
- 异步事件 173
- 异步调用缺陷 178
- 同步和异步处理 182
- 第8章 多线程和并发管理 184
- 线程和多线程 184
- 组件和线程 185
- 使用线程 186
- 同步线程 201
- 自动同步 202
- 手动同步 212
- WorkerThread包装类 243
- 同步委托 249
- 使用.NET多线程服务 252
- 第9章 序列化和持久化 280
- 自动序列化 281
- 序列化格式器 285
- 序列化事件 291
- 序列化和流 301
- 自定义序列化 304
- 序列化和类层次结构 311
- 第10章 远程处理 319
- 应用程序域 320
- 远程对象类型 330
- 引用封送激活模式 334
- .NET Remoting架构 342
- 构建分布式应用程序 348
- 租赁和赞助 382
- .NET与位置透明 397
- 第11章 上下文与拦截 399
- .NET组件服务 399
- .NET上下文 402
- 自定义组件服务 410
- 第12章 安全 434
- .NET安全架构 435
- 配置权限 449
- 编程式安全 472
- Visual Studio 2005与安全 494
- 基于主体的安全 498
- 其他安全问题 505
- 附录A 基于接口的Web服务 511
- 附录B 统一Windows Forms和ASP.NET安全 520
- 附录C 反射和属性 544
- 附录D 泛型 557
- 附录E C#编码标准 572
- 索引 589
书名:.NET组件程序设计(第2版)
译者:刘如鸿 译
国内出版社:中国电力出版社
出版时间:2007年04月
页数:644
书号:978-7-121-03983-6
原版书出版商:O'Reilly Media
Juval Lowy
Juval Lowy是一名经验丰富的软件设计师,同时也是IDesign公司(一家咨询和培训公司,其业务集中在使用微软的COM+和.NET平台进行面向组件设计方面)的负责人。Juval非常热爱面向组件编程,作为早期采用者,Juval在COM和.NET方面拥有独到的经验。Juval是《Visual Studio》杂志(以前的VBPJ/VCDJ)和《.NET》杂志的特约撰稿人,还经常作为发言人出现在主要的软件开发会议上。他在UC Berkeley Extension讲授COM和.NET。Juval以前是KLATencor公司(《财富》评出的500强公司之一)的软件体系结构经理,他在那里设计和开发在公司之间使用的大型框架和组件。Juval住在加利福尼亚的San Jose。可以通过站点http://www.componentware.net与他联系。
Programming .NET Components第2版的封面动物是一只西伯利斯陆寄生蟹(Coenobita clypeatus)。陆寄生蟹生活于印度(Indo)地区、大西洋西岸以及加勒比海西岸。它们居住在海岸线附近,必须同时靠近陆地和水域。
寄生蟹的前半部分覆盖着坚硬的骨盘。长长的腹部有一个较软的骨盘,可以对它进行调节以适用螺旋的外壳。巨大的左钳用于防卫、抓住树枝以及保持平衡。较小的右钳和接下来的一对附肢用于摄取食物和水并将它们传到嘴中。寄生蟹的柄眼视觉很敏锐,它还有两对触角。较长的一对触角用于感觉,较短的一对用于当作嗅觉和味觉。
陆寄生蟹本身没有坚硬的外壳,它利用旧的空外壳来保护自己柔软的身体。当它长大时,陆寄生蟹必须找到一个更大的外壳。有危险时,它就会藏在外壳中,用坚硬的钳子封住入口。寄生蟹是一种食腐动物,并不挑食。它们可以吃蠕虫、浮游生物和有机残骸。
尽管它们生活在陆地上,但必须返回大海觅食。雄性和雌性从它们的外壳中部分露出进行交配。雌性将数以百计的卵排在借来的外壳中。这些卵在外壳中既安全又潮湿,但它们孵化时,寄生蟹将以迁移来开始它们的占领生活。陆寄生蟹的生命大约在10年左右。