出版时间:2010-6 出版社:人民邮电出版社 作者:(美)埃斯波西托 等编著 页数:412 译者:陈黎夫
Tag标签:无
前言
正确的判断来自于经验,而经验则来自于错误的判断。——Fred Brooks每次遇到软件项目时,我们都会创建一个解决方案。这个过程就叫做架构设计,而架构设 计的最终产物就是软件架构。软件架构可以分为隐式和显式两种。隐式架构是指那些在我们头脑中描绘出的设计,往往写在Microsoft Office Word文档或记事 本上。隐式架构可以看做是一系列原有经验,其他类似项目中学到的技巧以及将抽象的概念进 行组织并应用到手头项目中的能力。例如,若你是个专业的木匠,那么显然不需要为了给宠物 狗造窝而大动干戈地绘图或精确测量,只要几分钟你就能想出一个隐式的架构。随后便可直奔 主题开始工作,仅仅在必要的时候进行合适的判断即可。这样在项目结束时,结果也会很不错。若项目干系人的想法过于复杂精细,以至于无法用经验和头脑中的想法来处理,则需要采 用显式架构。这时,你就需要做一些有预见性的规划并获取一定的指导,然后应用合理的模式 和实践,以期实现最终的目标。架构是什么“架构”这个词已被用在很多不同的上下文中。其定义可以在《牛津英语词典》或软件领域 中的美国国家标准学会(American National Standards Institute,ANSI)/电气和电子工程师学会(Institute 0f Electrical and:Electronics Engineers,IEEE)的标准库中找到。在ANSI和IEEE的释义中,架构的定义主要包括规划、设计以及创建软件的过程。软件架构是指那些用来为项目干系人提供足够说明(如某个用户需求)的一些人工产物。
内容概要
本书主要介绍了.NET平台下企业级架构设计开发的指导原则、最佳实践和模式等。书中第一部分介绍了软件设计基本原则以及架构的相关概念;第二部分按照业务逻辑层、数据访问层、表现层和服务层进行了说明,并详细分析了各层中的常见模式。 作者Dino曾撰写多部.NET相关的畅销著作,虽然本书涉及架构这个高端主题,但其文字生动活泼,行文一气呵成。本书适合中高级.NET开发人员、软件架构师以及有志于成为软件架构师的读者阅读。
作者简介
作者:(美国)埃斯波西托(Dino Esposito) (美国)萨尔塔列洛(Andrea Saltarello) 译者:陈黎夫埃斯波西托,(Dino Esposito)是一位ASP NET和AJAX方面的专家、受人欢迎的演讲者,并经常为MSDN Magazine撰写文章。他曾存Microsoft Press出版多本著作,包括《Prog rammingMic rosoft ASP.NET 3.5》和《IntroducingMicrosoft ASP.NET AJAX》等。萨尔塔列洛,(Andrea Saltarello)是一位解决方案架构师、咨询师和培训师,居住于意大利米兰。作为微软公司ASP.NET方面的MVP,他管理着意大利的微软.NET用户组,并经常在各种业界会议中演讲。
书籍目录
第一部分 设计原则 第1章 当代的架构师和架构 1.1 软件架构到底是什么 1.1.1 将架构原则应用至软件中 1.1.2 什么属于架构,什么不属于 1.1.3 架构与决定相关 1.1.4 软件的需求和质量 1.2 架构师到底是什么 1.2.1 架构师的职责 1.2.2 你知道有多少种架构师吗 1.2.3 对架构师的一些常见误解 1.3 软件开发流程概览 1.3.1 软件生命周期 1.3.2 软件开发模型 1.4 小结 1.5 本章的墨菲法则 第2章 UML必要知识 2.1 UML概览 2.1.1 建模语言的出现动机和历史 2.1.2 UML的模式和使用方法 2.2 UML图表 2.2.1 用例图 2.2.2 类图 2.2.3 顺序图 2.3 小结 2.4 本章的墨菲法则 第3章 设计原则和模式 3.1 基本设计原则 3.1.1 警钟因何而鸣 3.1.2 结构化设计 3.1.3 分离关注点 3.2 面向对象设计 3.2.1 面向对象基本设计原则 3.2.2 高级原则 3.3 从原则到模式 3.3.1 模式究竟是什么 3.3.2 模式vs. 惯用法 3.3.3 依赖注入 3.4 在设计时就考虑需求 3.4.1 可测试性 3.4.2 安全性 3.5 从对象到方面 3.5.1 面向方面编程 3.5.2 AOP实战 3.6 小结 3.7 本章的墨菲法则 第二部分 系统设计 第4章 业务层 第5章 服务层 第6章 数据访问层 第7章 表现层 附录A Northwind Starter Kit 最后的思考
章节摘录
插图:在20世纪60年代计算机刚刚出现的时候,硬件的成本要远远高于软件上的开销。但在40多年后的今天,这种状况发生了翻天覆地的改变。业界的不断努力让硬件成本有了大幅的下降,而软件开发上的开销却有了很大程度的增加,其最主要的原因是自定义企业级软件开发复杂度的提升。廉价的硬件成本让公司更加有理由为其信息系统添加新功能。原本只有一些独立、互不干涉的应用程序,并且这些程序很少共享数据,而今却变成了一个复杂的系统,其中包含有很多互相关联而又各司其职的功能和模块。在这种情况下,我们迫切需要一系列能够指导工程师开发此类系统的原则。当代的软件系统——或者参考国际标准,叫做软件密集型系统可以很自然地与那些要从详细设计图开始的复杂建筑工程相提并论。“架构”一词起源于建筑工程,现在已被用于描述规划、设计并实现软件密集型系统的艺术。在软件领域中,架构对于艺术性的要求却没有建筑中的那么高。良好设计的建筑物既给人带来强烈的视觉震撼,同时也能满足使用者的功能需要。而软件设计的评价则更加客观一些——要么是满足了需求,要么是没有满足。设计者一般不会考虑艺术性,除非这艺术性体现在某个精心设计的算法或用户界面之上。本书的一个作者曾经与一个架构工作室有着密切的来往。有一天,在讨论时遇到了这样一个问题:什么是架构?是一种艺术,还是仅仅为了满足客户的需求?在软件领域中,架构就是指为客户构建系统。
编辑推荐
《Microsoft .NET企业级应用架构设计》:游刃有余地控制复杂性设计高效的企业级解决方案在一开始就要做出正确的架构决策,从而提高产品的质量和可靠性。《Microsoft .NET企业级应用架构设计》由两位企业级系统开发专家执笔,会告诉你如何用各种模式和技术来控制项目的复杂性,让系统更易于编写、维护和升级。读者会得到实用的架构方面的指导,包括:·在早期设计师就考虑到可测试性、可维护性和安全性·通过面向服务的接口暴露业务逻辑·选择最佳的模式来组织业务逻辑和行为·了解并使用模式来分离Ul和表现层逻辑·深入探究数据访问层的模式和最佳实践·为对象和数据之间的转换提供良好的解决方案·降低开发工作量,避免过度设计,建造更强壮的系统
图书封面
图书标签Tags
无
评论、评分、阅读与下载
Microsoft .NET企业级应用架构设计 PDF格式下载