We analysed more than 40 000 000 questions and answers on stackoverflow.com to bring you the top of most mentioned books (5720 in total)

How we did it:

  • We got database dump of all user-contributed content on the Stack Exchange network (can be downloaded here)
  • Extracted questions and answers made on stackoverflow
  • Found all amazon.com links and counted it
  • Created tag-based search for your convenience
  • Brought it to you

For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks

Recomended tags

Top architectural-patterns books mentioned on stackoverflow.com

Design Patterns

Ralph Johnson, Erich Gamma, John Vlissides, Richard Helm

Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk. 0201633612B07092001

More on Amazon.com

Patterns of Enterprise Application Architecture

Martin Fowler

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.

More on Amazon.com

Head First Design Patterns

Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates

Provides design patterns to help with software development using the Java programming language.

More on Amazon.com

Architecting Microsoft .NET Solutions for the Enterprise

Dino Esposito, Andrea Saltarello

Provides information on designing and building effective enterprise solutions, covering such topics as UML, the business layer, the service layer, and the data access layer.

More on Amazon.com

Professional ASP.NET Design Patterns

Scott Millett

Professional ASP.NET Design Patterns is all about showing you how to use the power of design patterns and core design principles in real ASP.NET applications. The goal of this book is to educate developers on the fundamentals of object oriented programming, design patterns, principles, and methodologies that can help you become a better programmer. Design patterns and principles enable loosely coupled and highly cohesive code, which will improve your code’s readability, flexibility, and maintenance. Each chapter addresses a layer in an enterprise ASP.NET application and shows how proven patterns, principles, and best practices can be leveraged to solve problems and improve the design of your code. In addition, a professional-level, end-to-end case study is used to show how to use best practice design patterns and principles in a real website. Professional ASP.NET Design Patterns is for ASP.NET developers who are comfortable with the .NET framework but are looking to improve how they code and understand why design patterns, design principles, and best practices will make their code more maintainable and adaptable. Readers who have had experience with design patterns before may wish to skip Part 1 of the book, which acts as an introduction to the Gang of Four design patterns and common design principles, including the S.O.L.I.D. principles and Martin Fowler’s enterprise patterns. All code samples are written in C# but the concepts can be applied very easily to VB.NET. This book covers well-known patterns and best practices for developing enterprise-level ASP.NET applications. The patterns used can be applied to any version of ASP.NET from 1.0 to 4.0. The patterns themselves are language agnostic and can be applied to any object oriented programming language. Professional ASP.NET Design Patterns can be used both as a step-by-step guide and as a continuous source of reference to dip into at your leisure. The book is broken into three distinct sections. Part 1 is an introduction to patterns and design principles. Part 2 examines how patterns and principles can be used in the various layers of an ASP.NET application. Part 3 represents an end-to-end case study showcasing many of the patterns covered in the book. You may find it useful to work through the chapters before reading the case study, or you may find it easier to see the patterns in action by reading the case study section first and referring back to Part 2 for a more detailed view on the patterns and principles used. Within those parts the coverage includes: The origins of the Gang of Four design patterns, their relevance in today’s world, and their decoupling from specific programming languages. An overview of some common design principles and the S.O.L.I.D. design principles follows, and the chapter ends with a description of Fowler’s enterprise patterns. Layering Your Application and Separating Your Concerns A description of the Transaction Script pattern followed by the Active Record, with an exercise to demonstrate the pattern using the Castle Windsor project. The Domain Model pattern demonstrated in an exercise with NHibernate and a review of the domain-driven design (DDD) methodology Patterns and principles that can be used construct your objects and how to make sure that you are building your application for scalability and maintainability: Factory, Decorator, Template, State, Strategy, Composite, Specification and Layer Supertype. Design principles that can improve your code’s maintainability and flexibility; these include Dependency Injection, Interface Segregation, and Liskov Substitution Principle Service Oriented Architecture, the Facade design pattern, messaging patterns such as Document Message, Request-Response, Reservation, and the Idempotent pattern The Data Access Layer: Two data access strategies are demonstrated to help organize your persistence layer: Repository and Data Access Objects. Enterprise patterns and principles that will help you fulfill your data access requirement needs elegantly, including Lazy Loading, Identity Map, Unit of Work, and the Query Object. An introduction to Object Relational Mappers and the problems they solve. An enterprise Domain Driven exercise with POCO business entities utilizing both NHibernate and the MS Entity Framework. The Presentation Layer: how you can tie your loosely coupled code together Structure Map and an Inversion of Control container. Presentation patterns, including letting the view be in charge with the Model-View-Presenter pattern and ASP.NET web forms, the Front Controller presentation pattern utilizing the Command and Chain of Responsibility patterns, as well as the Model-View-Controller Pattern implemented with the ASP.NET MVC framework and Windsor’s Castle Monorail framework. The final presentation pattern covered is PageController as used in ASP.NET web forms. A pattern that can be used with organizational patterns, namely the ViewModel pattern and how to automate domain entities to ViewModel mapping with AutoMapper The User Experience Layer: AJAX, JavaScript libraries, including jQuery. AJAX patterns: Ajax Periodic Refresh and Timeout patterns, maintaining history with the Unique URL pattern, client side data binding with JTemplate, and the Ajax Predictive Fetch pattern An end-to-end e-commerce store case study with ASP.NET MVC, NHibernate, jQuery, Json, AutoMapper, ASP.NET membership provider and a second 3rd party authentication method, and PayPal as a payment merchant

More on Amazon.com

A Practical Guide to Enterprise Architecture

James McGovern

bull; Written by expert practitioners who have hands-on experience solving real-world problems for large corporations bull; Helps enterprise architects make sense of data, systems, software, services, product lines, methodologies, and much more bull; Provides explanation of theory and implementation with real-world business examples to support key points

More on Amazon.com

javac#c++c.netalgorithmphppythonjavascriptdesignasp.netlanguage-agnosticdesign-patternsandroidoopsqllinuxdatabasematharchitectureperformanceprogramming-languagesresourcesuser-interfacemysqlhtmlsql-serverwindowsiphonerubyiosmultithreadingdata-structuresresearchobjective-csecuritycomputer-scienceassemblyruby-on-railsjquerydatabase-designdocumentationasp.net-mvcunit-testingrcompiler-constructiontestingunixcsssoftware-engineeringwpfartificial-intelligenceweb-applicationsvb.netreferenceclassvisual-studioweb-servicesoptimizationarraysnetworkingproject-managementjava-eeumleclipseosxcoding-styleagilegraphicswinformsoperating-systemmemory-managementoracleembeddedspringwinapivisual-c++image-processingmodel-view-controllerajaxhardwareparsingfunctional-programmingregexamazonmemorytddtheoryinheritancefunction3dstatisticsperlopenglkernelopen-sourcexcodeapistringnlpxmlcocoawcfentity-frameworkdebuggingmachine-learninginterfacerefactoringactionscript-3concurrencymatlabrestdomain-driven-designdelphic#-4.0stlgraphpointersnode.jsscriptingopengl-estemplatessharepointidelispsilverlightdjangoprocessparallel-processingamazon-web-servicesuntaggedcommand-linex86scalasocketssql-server-2008visual-studio-2008frameworkshtml5audioobjectlistneural-networkproject-planningvb6visual-studio-2010flexswinglinux-kernelstandardslogicproductivitysearchencryptionc++11mobilec++-faqqtscrumgccscalabilityf#genericsmfcflashhaskelltsqlsortingsoftware-designversion-controllinqsql-server-2005treeweb-scrapingterminologyimagemethodologyasynchronousvbaxamlvariablesshellasp.net-mvc-3boostexcelooadopencvusbcryptographyc#-3.0eventsphysicstypesapachepluginsnetwork-programminghibernatetcpclojurematrixsyntaxmethodsssasrecursionsignal-processinggeometrycachingfortranpostgresqlcocoa-touchdependency-injectionschemestackipadgame-enginefileclass-designauthenticationinterpreterdeploymentarduinomodelruby-on-rails-32djsondirectxbluetoothfrontendusabilityspring-mvccomputer-visionformslambdasoawebinternalscollectionslinux-device-driverfilesystemsejbexceptionnhibernatevectorqadllcomlanguage-design.net-3.5linq-to-sqlvideogarbage-collectionhttpembedded-linuxjvmsqlitenaming-conventionssystembashimplementationmvvmtimezend-frameworkwebsitebddjspdata-access-layerthread-safetyscientific-computingvalidationindexingjunitosdevmockingopensslconstructorgrailsuser-experiencexpathreal-timerelational-databasecompilationmodelingtextmongodbdata-modelingormextreme-programmingprotocolsdevelopment-environmentprojectwebformsanalysisposixlow-levelclient-serversingletonservletsdata-miningsynchronizationclrcomparisonlanguage-featuresamazon-product-apimonocommon-lispmicrocontrollercontinuous-integrationhadoopxnacomplexity-theoryasp.net-mvc-4diagramcudasimulationencapsulationrandomhyperlinkdommacrosmusicshaderprojectsgwtjoinms-accesse-commercelinked-listwindows-phone-7linkerbinarydictionarystaticanti-patternscontent-management-systempolymorphismloopsstructurevisualizationstructactionscriptjpasvndata-warehouseabstract-classgroovyclosurescss3distributedprologtfsexception-handlinganimationdynamic-programmingdiscrete-mathematicssocial-networkingiorepository-patternif-statementcpuhashautomated-testssslkeyboardcode-reviewdynamicmetaprogrammingseleniumeclipse-pluginestimationheapgenetic-algorithmcode-generationlockingclassificationolapdrupalroboticsreverse-engineeringspecificationscomputational-geometryazurenormalizationmemory-leaksdriverssisopenclprofilingopengl-es-2.0grammarraspberry-picastingjava-meelectronicsmsbuildpthreadsarmxhtmlscreen-scrapingpropertiescanvastomcatuser-interactionrenderingpython-3.xstored-proceduresinputnullandroid-ndknosql.net-4.0scopeplsqlhistorydevice-drivervhdlios5pattern-matchingmessagingrequirementscommentscpu-architectureubuntujsfcommunicationasp.net-ajaxnunitipcinversion-of-controldesign-principlesclouderlangdefinitionworkflown-tierxsltnamespacesmoduleblogssolid-principlessharepo