Patterns of Enterprise Application Architecture
معرفی کتاب «Patterns of Enterprise Application Architecture» نوشتهٔ Martin Fowler، منتشرشده توسط نشر Addison-Wesley Professional در سال 2007. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, different than those faced by their desktop system and embedded system peers. For this reason, enterprise developers must uncover their own solutions. In this new book, noted software engineering expert Martin Fowler turns his attention to enterprise application development. He helps professionals understand the complex -- yet critical -- aspects of architecture. While architecture is important to all application development, it is particularly critical to the success of an enterprise project, where issues such as performance and concurrent multi-user access are paramount. The book presents patterns (proven solutions to recurring problems) in enterprise architecture, and the context provided by the author enables the reader to make the proper choices when faced with a difficult design decision. Contents Preface Who This Book Is For Acknowledgments Colophon Introduction Architecture Enterprise Applications Kinds of Enterprise Application Thinking About Performance Patterns The Structure of the Patterns Limitations of These Patterns PART 1: The Narratives Chapter 1: Layering The Evolution of Layers in Enterprise Applications The Three Principal Layers Choosing Where to Run Your Layers Chapter 2: Organizing Domain Logic Making a Choice Service Layer Chapter 3: Mapping to Relational Databases Architectural Patterns The Behavioral Problem Reading in Data Structural Mapping Patterns Building the Mapping Using Metadata Database Connections Some Miscellaneous Points Further Reading Chapter 4: Web Presentation View Patterns Input Controller Patterns Further Reading Chapter 5: Concurrency Concurrency Problems Execution Contexts Isolation and Immutability Optimistic and Pessimistic Concurrency Control Transactions ACID Patterns for Offline Concurrency Control Application Server Concurrency Further Reading Chapter 6: Session State The Value of Statelessness Session State Ways to Store Session State Chapter 7: Distribution Strategies The Allure of Distributed Objects Remote and Local Interfaces Where You Have to Distribute Working with the Distribution Boundary Interfaces for Distribution Chapter 8: Putting It All Together Starting with the Domain Layer Down to the Data Source Layer Some Technology-Specific Advice Other Layering Schemes PART 2: The Patterns Chapter 9: Domain Logic Patterns Transaction Script Domain Model Table Module Service Layer Further Reading Example: Revenue Recognition (Java) Chapter 10: Data Source Architectural Patterns Table Data Gateway Row Data Gateway Active Record Data Mapper Chapter 11: Object-Relational Behavioral Patterns Unit of Work Identity Map Lazy Load Chapter 12: Object-Relational Structural Patterns Identity Field Foreign Key Mapping Association Table Mapping Dependent Mapping Embedded Value Serialized LOB Single Table Inheritance Class Table Inheritance Concrete Table Inheritance Inheritance Mappers Chapter 13: Object-Relational Metadata Mapping Patterns Metadata Mapping Query Object Repository Chapter 14: Web Presentation Patterns Model View Controller Page Controller Front Controller Template View Transform View Two Step View Application Controller Chapter 15: Distribution Patterns Remote Facade Data Transfer Object Chapter 16: Offline Concurrency Patterns Optimistic Offline Lock Pessimistic Offline Lock Coarse-Grained Lock Implicit Lock Chapter 17: Session State Patterns Client Session State Server Session State Database Session State Chapter 18: Base Patterns Gateway Mapper Layer Supertype Separated Interface Registry Value Object Money Special Case Plugin Service Stub Record Set References Index A B C D E F G H I J K L M N O P Q R S T U V W X The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and.NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to.NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include · Dividing an enterprise application into layers · The major approaches to organizing business logic · An in-depth treatment of mapping between objects and relational databases · Using Model-View-Controller to organize a Web presentation · Handling concurrency for data that spans multiple transactions · Designing distributed object interfaces Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them This volume is a handbook for enterprise system developers, guiding them through the intricacies and lessons learned in enterprise application development. It provides proven solutions to the everyday problems facing information systems developers Martin Fowler With Contributions From David Rice ... [et Al.]. Includes Bibliographical References (p. 511-516) And Index.
دانلود کتاب Patterns of Enterprise Application Architecture