[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-347579-105":59,"doc-detail-347579-en":131},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":124,"head_meta":126,"extra_data":128,"updated_unix":130},105,"en","patterns-of-enterprise-application-architecture","Patterns of Enterprise Application Architecture","","Patterns of Enterprise Application Architecture presents proven design approaches for building enterprise applications with manageable complexity. The book organizes knowledge around architectural narratives and a structured set of patterns covering layering, domain logic, performance thinking, persistence with relational databases, web presentation, concurrency, session state, distribution strategies, and integration “put it all together” guidance. It also details domain logic, data source architectures, object-relational mappings, web presentation patterns, and offline and session-state variants for consistent implementation decisions.",{"@graph":69,"@context":123},[70,84,106],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":30,"@type":76,"position":81},"https://docshare.wps.com/document/technology/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/patterns-of-enterprise-application-architecture/347579/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/patterns-of-enterprise-application-architecture/347579.png","ImageObject",300,407,{"name":92,"@type":93},"Taylor Morgan","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-20","2026-09-22",true,{"@type":102,"interactionType":103,"userInteractionCount":105},"InteractionCounter",{"@type":104},"ViewAction",11,{"@type":107,"mainEntity":108},"FAQPage",[109,115,119],{"name":110,"@type":111,"acceptedAnswer":112},"What topics does the book cover in enterprise application architecture?","Question",{"text":113,"@type":114},"It covers enterprise applications at multiple architectural levels, including layering, domain logic, relational database mapping, web presentation, concurrency, session state, and distribution strategies.","Answer",{"name":116,"@type":111,"acceptedAnswer":117},"How is the book structured?",{"text":118,"@type":114},"It is organized into two parts: narrative chapters that discuss key design problems and solutions, and a second part that lists the underlying patterns in more systematic form.",{"name":120,"@type":111,"acceptedAnswer":121},"Why does the book emphasize domain models and object design?",{"text":122,"@type":114},"It argues that developing a good domain model helps make complex business logic more tractable and easier to manage, especially when persistence and integration requirements are added.","https://schema.org",{"og:url":83,"og:type":125,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":127,"canonical":83},"index,follow",{"doc_id":129,"site_id":62},347579,1790374758,{"code":4,"msg":5,"data":132},{"doc_id":129,"user_id":133,"nickname":92,"user_avatar":134,"doc_module":4,"category_id":29,"category_name":30,"doc_title":65,"doc_description":67,"doc_content":135,"file_id":136,"file_url":137,"file_type":138,"file_size":139,"view_count":105,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":140,"language":141,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":142,"faqs":143,"seo_title":144,"seo_description":67,"update_tm":145,"read_time":146},1099523885336,"https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c","Patterns of Enterprise Application Architecture  \nBy Martin Fowler, David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, Randy Stafford  \nPublisher : Addison Wesley  \nPub Date : November 05, 2002  \nISBN : 0-321-12742-0  \nPages : 560  \nTable of Contents  \n Copyright  \n The Addison-Wesley Signature Series Preface  \n Who This Book Is For  Acknowledgments  Colophon  \n Introduction  Architecture  \n Enterprise Applications  Kinds of Enterprise Application  Thinking About Performance  Patterns  \nPart 1. The Narratives  Chapter 1. Layering  \n The Evolution of Layers in Enterprise Applications  The Three Principal Layers  \n Choosing Where to Run Your Layers  \n Chapter 2. Organizing Domain Logic  Making a Choice  \n Service Layer  \n Chapter 3. Mapping to Relational Databases Architectural Patterns  \nThe Behavioral Problem  Reading in Data  Structural Mapping Patterns  Building the Mapping  Using Metadata  \nDatabase Connections  \nSome Miscellaneous Points  Further Reading  \n Chapter 4. Web Presentation  \nView Patterns  \n Input Controller Patterns  \n Further Reading  \n Chapter 5. Concurrency  Concurrency Problems  \nExecution Contexts  Isolation and Immutability  \n Optimistic and Pessimistic Concurrency Control Transactions  \n Patterns for Offline Concurrency Control  Application Server Concurrency  \n Further Reading  \n Chapter 6. Session State  The Value of Statelessness  \nSession State  \n 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  \n Chapter 8. Putting It All Together  Starting with the Domain Layer  Down to the Data Source Layer  Some Technology-Specific Advice  Other Layering Schemes  \nPart 2. The Patterns  \n Chapter 9. Domain Logic Patterns  \n Transaction Script  Domain Model Table Module  Service Layer  \n Chapter 10. Data Source Architectural Patterns  \n Table Data Gateway  Row Data Gateway  Active Record  Data Mapper  \n Chapter 11. Object-Relational Behavioral Patterns  Unit of Work  \n Identity Map  Lazy Load  \n Chapter 12. Object-Relational Structural Patterns  Identity Field  \n Foreign Key Mapping  Association Table Mapping  Dependent Mapping  Embedded Value  \nSerialized LOB  Single Table Inheritance  Class Table Inheritance  Concrete Table Inheritance  Inheritance Mappers  \n Chapter 13. Object-Relational Metadata Mapping Patterns  \n Metadata Mapping  Query Object  Repository  \n Chapter 14. Web Presentation Patterns Model View Controller  \n Page Controller Front Controller  Template View  \nTransform View  Two Step View  Application Controller  \n Chapter 15. Distribution Patterns Remote Facade  \n Data Transfer Object  \n Chapter 16. Offline Concurrency Patterns  Optimistic Offline Lock  Pessimistic Offline Lock  \nCoarse-Grained Lock  Implicit Lock  \n Chapter 17. Session State Patterns Client Session State  \nServer Session State  \nDatabase Session State  \n Chapter 18. Base Patterns  \n Gateway  Mapper  \n Layer Supertype  Separated Interface  Registry  Value Object  Money  Special Case  Plugin  \n Service Stub Record Set  \n References  \nPreface  \nIn the spring of 1999 I flew to Chicago to consult on a project being done by ThoughtWorks, a small but rapidly growing application development company. The project was one of those ambitious enterprise application projects: a back-end leasing system. Essentially it deals with everything that happens to a lease after you've signed on the dotted line: sending out bills, handling someone upgrading one of the assets on the lease, chasing people who don't pay their bills on time, and figuring out what happens when someone returns the assets early. That doesn't sound too bad until you realize that leasing agreements are infinitely varied and horrendously complicated. The business \"logic\" rarely fits any logical pattern, because, after all, it's written by business people to capture business, where odd small variations can make all the difference","cbCaiueVSFFgNGU3","https://ap.wps.com/l/cbCaiueVSFFgNGU3","pdf",4809928,389,"English","# Introduction\n## Enterprise Applications\n## Kinds of Enterprise Application\n## Thinking About Performance\n# Part 1. The Narratives\n## Chapter 1. Layering\n## Chapter 2. Organizing Domain Logic\n## Chapter 3. Mapping to Relational Databases\n## Chapter 4. Web Presentation\n## Chapter 5. Concurrency\n## Chapter 6. Session State\n## Chapter 7. Distribution Strategies\n## Chapter 8. Putting It All Together\n# Part 2. The Patterns\n## Chapter 9. Domain Logic Patterns\n## Chapter 10. Data Source Architectural Patterns\n## Chapter 11. Object-Relational Behavioral Patterns\n## Chapter 12. Object-Relational Structural Patterns\n## Chapter 13. Object-Relational Metadata Mapping Patterns\n## Chapter 14. Web Presentation Patterns\n## Chapter 15. Distribution Patterns\n## Chapter 16. Offline Concurrency Patterns\n## Chapter 17. Session State Patterns\n## Chapter 18. Base Patterns","[{\"question\":\"What topics does the book cover in enterprise application architecture?\",\"answer\":\"It covers enterprise applications at multiple architectural levels, including layering, domain logic, relational database mapping, web presentation, concurrency, session state, and distribution strategies.\"},{\"question\":\"How is the book structured?\",\"answer\":\"It is organized into two parts: narrative chapters that discuss key design problems and solutions, and a second part that lists the underlying patterns in more systematic form.\"},{\"question\":\"Why does the book emphasize domain models and object design?\",\"answer\":\"It argues that developing a good domain model helps make complex business logic more tractable and easier to manage, especially when persistence and integration requirements are added.\"}]","Patterns of Enterprise Application Architecture | PDF",1790067836,980]