第一图书网

.NET应用架构设计

汪洋 机械工业出版社华章公司
出版时间:

2011-12-31  

出版社:

机械工业出版社华章公司  

作者:

汪洋  

Tag标签:

无  

内容概要

  国内首本讲解企业级.net应用架构与设计的专著,由国内经验丰富的.net专家和架构师亲自执笔,权威性毋庸置疑。本书的重点不在于架构与设计的理论,而是从实践的角度出发,结合大量示例和一个完整的项目案例循序渐进地讲解了.net应用架构与设计的方法、流程、原则、模式和最佳实践,实践指导意义极强。本书在写作方式上打破了传统的知识灌输方式,而是用逐步演进的方式去引导和启发读者的抽象思维和宏观思想,从而让读者快速掌握架构与设计的精髓。
  《.net应用架构设计:原则、模式与实践》一共分为三个部分:第一部分首先介绍了企业应用架构与设计的流程和核心概念,然后讲解了应用架构中常用的设计模式和设计原则,以及常用的几种设计方法;第二部分的主题是架构与设计的方法和最佳实践,既对架构分层的相关知识进行了详细的阐述,又用大量实战案例对业务层、服务层、数据访问层、数据存储层、显示层的原理和设计进行了深入的剖析;第三部分以一个真实的项目案例(已上线)演示了企业级应用的架构与设计的流程和方法,旨在帮助读者将前面所学的知识融会贯通,从而真正达到能动手实践的目的。

作者简介

汪洋(Richard Wang),资深架构师和.NET技术专家。一直战斗在一线,实践经验极其丰富。现就职于惠普公司,担任技术架构师和信息分析师。同时他还是上海益思研发管理咨询有限公司首席架构师、软件咨询组副组长。曾在世界500强的在华日企担任架构师,负责项目业务框架和平台设计,曾带领创业团队与国内外企业进行项目合作。51CTO、博客园、ITPUB、China Unix等IT社区的知名博客和技术专家。CSDN和IrifoQ的特约技术作家。2011年曾多次应邀在架构师大会、亚太软件研发管理峰会和中国软件开发大会等技术盛会上担任演讲嘉宾,深受与会者欢迎。此外,他还在为国内多家软件企业开展软件架构与性能优化方面的培训。

书籍目录

前言
第一部分 架构与设计的原则和模式
第1章 架构与设计的流程和核心概念
1.1 正确认识软件架构
1.1.1 什么是架构
1.1.2 架构师的职责
1.1.3 架构设计
1.1.4 架构设计的优点
1.2 正确理解设计的含义
1.2.1 设计的重要性
1.2.2 架构和设计的关系
1.3 架构设计中的重要概念
1.3.1 tier和layer
1.3.2 架构与框架
1.3.3 架构与模式
1.4 本章小结
第2章 模式、设计原则和方法
2.1 设计原则与软件设计
2.1.1 设计原则简述
2.1.2 设计原则实战
2.2 设计模式
2.2.1 设计模式简介
2.2.2 正确使用设计模式
2.2.3 设计模式实战
2.3 企业应用架构模式
2.3.1 什么是企业架构
2.3.2 什么是企业级开发
2.3.3 再议架构设计和模式
2.3.4 企业架构模式介绍
2.4 企业架构模式实战
2.5 设计方法
2.5.1 测试驱动开发
2.5.2 领域驱动开发
2.5.3 行为驱动开发
2.6 本章小结
第二部分 架构与设计的方法和最佳实践
第3章 架构分层
3.1 反模式项目实例
3.2 分层设计
3.2.1 正确理解分层
3.2.2 常见的分层架构设计
3.2.3 n-tier架构
3.2.4 n-tier架构需要考虑的因素
3.3 从重构到分层
3.3.1 业务层设计实战
3.3.2 数据访问层设计实战
3.3.3 服务层设计实战
3.3.4 显示层设计实战
3.4 本章小结
第4章 业务层设计
4.1 业务层组织模式剖析
4.1.1 transaction script模式与实战
4.1.2 active record模式与实战
4.1.3 domain model模式与实战
4.1.4 anemic domain model模式与实战
4.1.5 业务层组织模式比较
4.2 业务层常用设计模式解析及实战
4.2.1 工厂方法模式
4.2.2 装饰者模式
4.2.3 模板方法模式
4.2.4 状态模式
4.2.5 策略模式
4.2.6 模板方法模式、状态模式、策略模式的比较
4.3 业务层常用的企业架构模式及实战
4.4 模式联合实战
4.4.1 需求规格模式
4.4.2 组合模式
4.5 业务层常用的设计原则及实战
4.6 本章小结
第5章 服务层设计
5.1 服务层详解
5.1.1 服务层的由来
5.1.2 服务层的职责是什么
5.1.3 服务层的必要性
5.2 服务层常用设计模式解析
5.2.1 外观模式
5.2.2 远程外观模式
5.2.3 数据传输对象模式
5.3 soa介绍
5.3.1 soa用途
5.3.2 soa原则
5.3.3 服务设计原则
5.3.4 服务解惑
5.3.5 服务操作设计原则
5.3.6 服务粒度介绍
5.4 服务层常用消息模式解析
5.4.1 文档消息模式与请求-响应模式
5.4.2 预约保留模式
5.4.3 等幂模式
5.5 soa实战——wcf实现
5.5.1 系统分析
5.5.2 业务层实战
5.5.3 数据层实战
5.5.4 服务层实战
5.5.5 代理层实战
5.5.6 显示层实战
5.6 本章小结
第6章 数据访问层设计
6.1 数据访问层简述
6.2 数据访问层的设计策略
6.2.1 仓储模式
6.2.2 数据访问对象模式
6.3 数据访问层常用模式与原则解析
6.3.1 工作单元
6.3.2 标识映射
6.3.3 延迟加载
6.3.4 数据并发控制
6.3.5 查询对象
6.4 orm对象关系映射
6.4.1 nhibernate介绍
6.4.2 entity framework介绍
6.5 企业级领域驱动设计项目实战
6.5.1 业务层的实现
6.5.2 服务层的实现
6.5.3 数据访问层的实现
6.5.4 显示层的实现
6.6 本章小结
第7章 数据存储层设计
7.1 合理选择数据存储方案
7.1.1 数据存储的三种方式
7.1.2 选择合理的数据存储方案
7.2 数据库架构设计
7.2.1 分布数据
7.2.2 数据拆分
7.2.3 读写分离
7.2.4 数据缓存
7.3 数据库设计
7.3.1 数据库计划
7.3.2 逻辑数据库设计
7.3.3 物理数据库设计
7.4 sql server数据库性能瓶颈分析与解决方案
7.4.1 缺失索引的瓶颈分析与解决方案
7.4.2 昂贵查询的瓶颈分析与解决方案
7.4.3 数据库碎片的瓶颈分析与解决方案
7.5 本章小结
第8章 显示层设计
8.1 mvp模式的原理与实战
8.1.1 mvp模式实战(asp.net实现)
8.1.2 mvp模式经验谈
8.1.3 mvp模式之高级话题
8.2 前端控制器模式的原理与实战
8.2.1 前端控制器模式介绍
8.2.2 深入浅出命令模式
8.2.3 前端控制器模式实战
8.3 mvc模式的原理与实战
8.3.1 深入浅出mvc模式
8.3.2 mvc模式之高级话题
8.3.3 mvc模式实战——对asp.net mvc源码进行分析
8.4 pm模式的原理与实战
8.4.1 pm模式的解析
8.4.2 pm模式实战
8.5 mvvm模式的原理与实战
8.5.1 mvvm模式介绍
8.5.2 mvvm模式深度剖析
8.5.3 mvvm模式高级话题
8.6 本章小结
第三部分 .net应用的架构与设计实战
第9章 it创业产品互推平台的项目背景与功能介绍
9.1 it创业产品互推平台背景
9.2 sns功能介绍
9.2.1 用户管理
9.2.2 个人信息管理
9.2.3 软件展示功能
9.2.4 好友功能
9.2.5 站内信息功能
9.2.6 多媒体文件管理
9.2.7 博客
9.2.8 用户群
9.2.9 微博
9.2.10 共享功能
9.2.11 论坛
9.2.12 活动
9.2.13 投票
9.2.14 页面布局定制
9.2.15 评级
9.3 本章小结
第10章 it创业产品互推平台架构设计
10.1 分层设计
10.1.1 逻辑分层的总体设计
10.1.2 通用功能设计
10.1.3 业务层设计
10.1.4 数据持久层设计
10.1.5 显示层设计
10.2 部署设计
10.2.1 单服务器部署
10.2.2 多服务器部署
10.3 文件存储的设计
10.4 基础类库的设计
10.4.1 缓存
10.4.2 配置读取
10.4.3 邮件发送
10.4.4 日志记录
10.4.5 辅助类的实现
10.5 本章小结
第11章 it创业产品互推平台用户管理
11.1 用户管理功能分析
11.1.1 用户注册
11.1.2 用户登录
11.1.3 找回密码
11.1.4 激活账户
11.1.5 删除用户
11.1.6 更新用户
11.1.7 查询用户
11.2 用户管理接口的定义
11.2.1 服务层实现定义
11.2.2 业务模型定义
11.2.3 数据访问层的接口定义
11.3 用户管理的实现
11.3.1 服务层实现
11.3.2 业务层实现
11.3.3 数据访问层实现
11.3.4 显示层实现
11.4 本章小结
附录a

章节摘录

版权页:插图:1.界面层界面层通常指的是用户界面或表现层。此处我使用了一个比较通用的术语——界面,因为该架构不仅支持没有任何用户的面向服务的应用程序,也支持WPF、Web窗体、Windows窗体,以及其他有用户的应用程序类型。可能会有读者疑惑,为什么我把界面层和界面控制层分开来介绍(一般把界面层和界面控制层综合在一起,统称为“显示层”)?当然,从智能客户端的角度来看,界面和对界面的控制是相同的,因为它们就是用户能够与系统交互的图形化用户界面(GUI)窗体。但是从Web的角度来看,它们的区别就比较明显了。通常浏览器只为用户提供了一个界面,用来显示数据并收集用户的输入内容。在这种情况下,所有真正的交互逻辑,也就是用来控制界面、生成输出或解释用户输入的代码,都运行在Web服务器(或者大型机)上而不是客户端计算机上。当然,现在的浏览器上可能会运行Ajax或Silverlight。不过,它们必须被视为分离的应用程序,因为它们只是与运行在服务器上的应用程序交互。所以即便在浏览器上有运行代码,应用程序的界面代码还是运行在Web服务器上的。现在界面技术的种类越来越多,并且每种技术都会带来一些新的相对不兼容的技术,我们必须为适应它们而做一些工作,这就需要我们自己动手创建了。同时,我们应该专注于简化架构中的其他层,因为相对而言,其他层的设计更加有规则可以遵循,并且会带来巨大的效益。 2.界面控制层 既然前面已经提出了界面层和界面控制层之间的区别,那么界面控制层的目的就比较清楚了。该层包括以下几种逻辑:决定用户应该看到什么,对路径进行导航,以及解释用户的输入。在WPF或Windows窗体的应用程序中,这些逻辑指代窗体后台的代码。在Web窗体应用程序中,这些逻辑不仅仅指代窗体后台的代码,还可以包含在服务器端控件中的代码。在很多应用程序中,界面控制代码非常复杂。对于初学者来说,它必须以非线性的方式对用户的请求做出响应。(因为很难预料用户会怎样点击控件,或者进入或离开窗体和页面。)界面控制代码还必须与业务层的逻辑交互,以验证用户输入、处理用户的请求,或者做任何其他与业务相关的动作。

媒体关注与评论

对于程序员来说,架构师是他们职业生涯中的一个重要追求目标。由于架构师不仅需要非常高的综合素质,而且还需要丰富的实战经验,因此行业内真正的架构师少之又少。对于企业而言,一位优秀的架构师就好比疆场上指挥百万大军的将军,运筹帷幄,决胜千里之外,一个应用是否具有高可用性、高扩展性和良好的性能,架构9币起着决定性作用。本书内容是作者在大量企业级,NET项目中总结出来的宝贵经验,以实战为导向,系统地讲解了企业级应用架构与设计的流程、方法、模式、原则与最佳实践,适合希望成为优秀架构师的读者系统学习。强烈推荐!  ——51CTO本书是作者多年架构实战经验的结晶。实践性强,通过大量的实际项目案例详细讲解了.NET应用的架构与设计的方法;内容全面,从架构设计的核心概念和原理,到架构设计的模式与最佳实践,全部包含其中:阅读体验好,语言朴实,幽默风趣,能让你在轻松的阅读中领悟到架构设计的精髓。  ——China Unix社区&ITpub社区联袂推荐有多少项目,因为设计的糟糕,做到最后,让人苦不堪言。为什么会这样?缺少合理的设计原则和必要的实践。有多少项目,因为架构的缺陷,导致整个项目最后陷入“泥沼”。为什么会这样?缺少周密的思考和对技术的深度把握。又有多少项目,因为不切实际的假设和过度的设计,致使开发进入“死亡行军”,让人叫苦不迭。为什么会这样?缺少经验的积累和失败的教训。在这些“悲剧”的背后,我们不应该无休止地悲伤;在这些失败的项目面前,我们需要更深刻地反思。在这本书中,作者通过自己的实战经验给出了这些问题的答案,既有可供借鉴的成功经验,也有需要大家引以为戒的失败教训,值得仔细品读。  ——马伟微软ASP.NET MVP,畅销书《ASP.NET 4权威指南》作者


编辑推荐

《.NET应用架构设计:原则、模式与实践》:由经验丰富的.NET专家和架构师亲自执笔,技术专家和技术社区联袂推荐!以实践为导向,循序渐进地讲解了企业级.NET应用架构与设计的流程、方法、原则、模式与最佳实践,极具实践指导意义。每个程序员都有一个架构师的梦,相信手捧《.NET应用架构设计:原则、模式与实践》的你也正在朝着这个目标而努力奋斗。架构师对软件项目的成败和优劣起着决定性作用,因此地位也举足轻重,这就是比尔•盖茨更喜欢称自己是微软的首席架构师而不是CEO的原因。罗马不是一天建成的.优秀的架构师也不是短时间内能练成的.需要缜密的思维、精湛的技术和丰富的实战经验。在成长为架构师的路上,没有捷径可走,唯有多吸取前人积累的经验和教训,多动手实践并用心总结。《.NET应用架构设计:原则、模式与实践》是一位资深架构师多年实践经验的结晶,在这些年里,他有过成功的喜悦,也有过失败的懊恼,一路走来,他深知程序员们在迈向架构师的途中会遇到哪些困惑和难题,于是他结合自己的亲身经历和体验撰写了《.NET应用架构设计:原则、模式与实践》。一方面是想将自己在软件架构与设计方面积累的方法、原则、模式与最佳实践以大家最容易接受的方式分享出来;另外一方面他也毫不避讳地公开了自己的一些失败教训,目的是希望大家能引以为鉴.少走弯路。我们希望《.NET应用架构设计:原则、模式与实践》能帮助你在成长为架构师的路上走得更快、更稳,从而走得更远。

图书封面

图书标签Tags

广告

下载页面


.NET应用架构设计 PDF格式下载



作者主要从实践角度出发,讲述了架构设计中可以采用的原则、模式、思想。受益匪浅。谢谢汪洋。


很好。。。努力为架构师而奋斗


要是不想写代码,但还想拿高工资,还做it的话,做架构无疑是一个好去路,当我看到这本书的时候,觉得想买了


****架构,这本书还没来得及看。不知道里面有多少好东西。


不错,不过跟以前买的asp****设计模式内容差不多


首先支持一个。希望能够带动我国软件水平的提升。

当然同国外技术大牛的经典相比有一顶的差距。但是我相信会越做越好的。


被同事推荐的好书,不错!


不错,看的出作者工作能力还是有的,不过还难达到大牛们的那种深入浅出的叙述和深层次的积淀


快递给我打了一个电话 没接到,回头打回去 人已经走了 再买吧 。。。


送货速度快,而且书的质量也不错。书中内容大体的看了一下,我喜欢


书很好,正是我需要的。


图书不错,很喜欢


内容不过。印刷差强人意。


国人写的支持


得有一些编程基础再看!这书写的很好


但我是要周末送到,不过算了,好在家里也有人。


 以实践为导向,循序渐进地讲解了企业级****应用的架构与设计的流程、方法、原则、模式与最佳实践,极具实践指导意义。


最近看过了大话设计模式,所以想了解一下应用程序的整体架构,看来还是不错的一本书。


分析彻底,讲解详细


支持原著,不是翻译的,看看国内高手写的书到底如何


继续阅读中,ASP****相关 应该收获多一点.


是本有思想的书,支持国人写的。


刚收到这本书。同事们说挺好的。还在阅读中。希望能学到有用的东西。总体感觉还不错这本书。


中国人写的不错的一本书


简单看了下,没细读,内容还可以,入门级读物


包装很好,外面薄膜包裹。


我的水平低了点。看的很慢。


有一定深度,建议有一定编程基础和软件工程基础的阅读


书还可以,适合初级开发人员向高级开发人员转换


这书不错,难道上有点高。值 的一看。


像是作者个人的工作总结报告,对读者指导意义不大


感觉一般,没什么好的经验介绍。


书不错,就是要了发票都不送,服务很不好


書剛拿到.沒有附光碟.書中也沒有說明那裡可以下載.在VS裡看程式碼.一定比在書看程式碼方便的.
希望有程式碼可以下載.


基本上是炒《****企业应用架构模式》的冷饭。


粗粗的看了一遍,觉得这书写的比较糙,与原来看目录的心理期望值差的比较远。书中涉及的理论和方法比较高深,要求阅读者得起点也高,但是对这些高深的理论又完全停留在比较肤浅的介绍上,讲的不够深,也不够细。如果说作者的原意就是对这些高深理论做一个比较浅显的介绍式的讲述,那么通观全书,介绍的又远欠细致和周到,好多东西一掠而过,粗枝大叶。所以全书的风格就是:不高不低,粗枝大叶的一本不上不下的书,深没有理论和高度,浅又所述匆匆,没有细致周到,基础稍差的人,完全摸不着头脑。举个例子:全书所举得例子,没有一处说明用的什么语言,什么版本,这在国外翻译过来的图书中,是绝对不能想象的粗糙失误!技术高的人值得一看,技术基础差的人又看起来非常费劲,我感觉非常非常失望!


作者写的东西很少,绝大部分内容都抄袭自《asp****设计模式》......


书本外表有磨损,内部部分字体与图片显示模糊糊,相当令人失望


通过阅读前几章,发现作者还是有水平的,不过不会把知识总结出来,经常是东一榔头西一棒子,如果读者会了,根本不用看,如果不会,根本看不懂,代码都是片段,关键的代码没出现。还没有代码可以下载。作者说到他的例子挂在网上了,可是看那个网站根本不是书中的例子。总之,看别的书吧。


对比了这本书与《Professional ASP.NET Design Patterns》的目录,很雷同..国内的技术书,不解释,大家都懂得..


没仔细看 纸张一般 内容比较丰富


作者对界面模式及设计模式掌握还算到位,有兴趣的朋友可以看看,但就架构来说,内容只能算是非常初级了,大部分都是皮毛理论,甚至有些理论根本就是误导,估计连作者自己都没深究过。不推荐。


大概看了下,具体内容还没看完。


这本书不错,对我帮助不小。


才看了60页就发现好几个未加空格的地方......这我已经想弄死校稿的了....到处是没加空格工业出版社.你大爷的.我裤子都脱了你给我看这个?


好书!很多模式解决方案都可以应用到实际项目,对系统设计有很大的启发,如果是有一定的项目经验的人都会对书中的模式有深刻的体会,毕竟都是过来人啊!唯一不足的是很多复杂的应用场景给踢除了,很多例子都是比较理想化的设计,可能是为了内容的容易理解才这么做吧, 希望能出一本高级版,对一些真实的复杂系统进行架构分析


包装完好,纸质也很不错


书本的质量还是不错的,亚马逊的书还是最让人值得放心的。快递很给力,中午10点下单,下午3点左右就收到了。


书的内容很好,收益了


这是本好书,架构师可以参考的


国内这方面还不错的入门书


.net编程的参考书


设计模式的应用


包含的面比较广,需要有点基础


.NET的应用,这书本不错


学习架构设计


相关图书