标题：.NET软件架构之美
图书信息
出版社: 人民邮电出版社; 第1版 (2009年9月1日)
丛书名: 图灵程序设计丛书微软技术系列
平装: 432页
正文语种: 英语
开本: 16
ISBN: 9787115200181
条形码: 9787115200181
尺寸: 23.2 x 18.6 x 2 cm
重量: 621 g
作者简介
作者：(意大利)埃斯波西托(Dino Esposito) (意大利)索尔塔雷罗(Andrea Saltarello)
DinoEsposito，．NET和软件架构技术方面的世界级权威，微软ASP．NETMVP。目前就职于著名的．NET技术咨询公司IDesign。他是广受欢迎的技术作家。担任MSDNMagazine特邀专栏作家多年。并撰有ProgrammingASP．NET-3．5CoreReferences等名著。
AndreaSaItareIIo，微软ASP．NETMVP。意大利．NET用户组负责人。现任ManagedDesigns公司首席软件架构师。
内容简介
《.NET软件架构之美(英文版)》出自两位具有多年软件开发经验的 ASP .NET专家、作者和培训师之手，内容涉及多层架构、设计模式以及设计原则。第一部分简要介绍 UML、设计原则及模式；第二部分从技术架构角度讨论分层设计。《.NET软件架构之美(英文版)》行文流畅，语言通俗易懂，阐述了各种架构设计技术方案的优与劣，并讲述了如何在优与劣中做出权衡。中设计了真实的场景，展示了如何将这些设计原则更加具体地应用到 .NET应用程序中。
《.NET软件架构之美(英文版)》适合各层次 .NET开发人员阅读。
媒体评论
“所有架构师的必读之作……无可替代。”
——．NET Developer's Journal
“还等什么？如果你有机会看到本书，请尽快把它‘消灭’。就像我在地铁上如饥似渴地畅读一样……”
——王涛（AnyTao）。微软MVP
“本书酣畅淋漓地阐发了．NET平台下企业软件架构的精髓。为开发人员献上了不可多得的饕餮大餐。”
——陈黎夫（Dflying），微软MVP
目录
Part Ⅰ Principles
1 Architects and Architecture Today 
What's a Software Architecture, Anyway? 
Applying Architectural Principles to Software 
What's Architecture and What's Not 
Architecture Is About Decisions 
Requirements and Quality of Software 
Who's the Architect, Anyway? 
An Architect's Responsibilities 
How Many Types of Architects Do You Know? 
Common Misconceptions About Architects 
Overview of the Software Development Process 
The Software Life Cycle 
Models for Software Development 
Summary 
Murphy's Laws of the Chapter 
2 UML Essentials 
UML at a Glance 
Motivation for and History of Modeling Languages 
UML Modes and Usage 
UML Diagrams 
Use-Case Diagrams 
Class Diagrams 
Sequence Diagrams 
Summary 
Murphy's Laws of the Chapter 
3 Design Principles and Patterns 
Basic Design Principles 
For What the Alarm Bell Should Ring 
Structured Design 
Separation of Concerns 
Object-Oriented Design 
Basic OOD Principles 
Advanced Principles 
From Principles to Patterns 
What's a Pattern, Anyway? 
Patterns vs. Idioms 
Dependency Injection 
Applying Requirements by Design 
Testability 
Security 
From Objects to Aspects 
Aspect-Oriented Programming 
AOP in Action 
Summary 
Murphy's Laws of the Chapter 
Part Ⅱ Design of the System
4 The Business Layer 
What's the Business Logic Layer, Anyway? 
Dissecting the Business Layer 
Where Would You Fit the BLL? 
Business and Other Layers 
Patterns for Creating the Business Layer 
The Transaction Script Pattern 
Generalities of the TS Pattern 
The Pattern in Action 
The Table Module Pattern 
Generalities of the TM Pattern 
The TM Pattern in Action 
The Active Record Pattern 
Generalities of the AR Pattern 
The AR Pattern in Action 
The Domain Model Pattern 
Generalities of the DM Pattern 
The DM Pattern in Action 
Summary 
Murphy's Laws of the Chapter 
5 The Service Layer 
What's the Service Layer, Anyway? 
Responsibilities of the Service Layer 
What's a Service, Anyway? 
Services in the Service Layer 
The Service Layer Pattern in Action 
Generalities of the Service Layer Pattern 
The Service Layer Pattern in Action 
Related Patterns 
The Remote Fa?ade Pattern 
The Data Transfer Object Pattern 
The Adapter Pattern 
DTO vs. Assembly 
Service-Oriented Architecture 
Tenets of SOA 
What SOA Is Not 
SOA and the Service Layer 
The Very Special Case of Rich Web Front Ends 
Refactoring the Service Layer 
Designing an AJAX Service Layer 
Securing the AJAX Service Layer 
Summary 
Murphy's Laws of the Chapter 
6 The Data Access Layer 
What's the Data Access Layer, Anyway? 
Functional Requirements of the Data Access Layer 
Responsibilities of the Data Access Layer 
The Data Access Layer and Other Layers 
Designing Your Own Data Access Layer 
The Contract of the DAL 
The Plugin Pattern 
The Inversion of Control Pattern 
Laying the Groundwork for a Data Context 
Crafting Your Own Data Access Layer 
Implementing the Persistence Layer 
Implementing Query Services 
Implementing Transactional Semantics 
Implementing Uniquing and Identity Maps 
Implementing Concurrency 
Implementing Lazy Loading 
Power to the DAL with an O/RM Tool 
Object/Relational Mappers 
Using an O/RM Tool to Build a DAL 
To SP or Not to SP 
About Myths and Stored Procedures 
What About Dynamic SQL? 
Summary 
Murphy's Laws of the Chapter 
7 The Presentation Layer 
User Interface and Presentation Logic 
Responsibilities of the Presentation Layer 
Responsibilities of the User Interface 
Common Pitfalls of a Presentation Layer 
Evolution of the Presentation Patterns 
The Model-View-Controller Pattern 
The Model-View-Presenter Pattern 
The Presentation Model Pattern 
Choosing a Pattern for the User Interface 
Design of the Presentation 
What Data Is Displayed in the View? 
Processing User Actions 
Idiomatic Presentation Design 
MVP in Web Presentations 
MVP in Windows Presentations 
Summary 
Murphy's Laws of the Chapter 
Final Thoughts 
Appendix: The Northwind Starter Kit 
Index