The Fictioning Horror Sale
 
 

Recently Viewed clear list


Original Essays | September 17, 2014

Merritt Tierce: IMG Has My Husband Read It?



My first novel, Love Me Back, was published on September 16. Writing the book took seven years, and along the way three chapters were published in... Continue »
  1. $16.77 Sale Hardcover add to wish list

    Love Me Back

    Merritt Tierce 9780385538077

spacer
Qualifying orders ship free.
$65.50
List price: $69.99
New Hardcover
Ships in 1 to 3 days
Add to Wishlist
available for shipping or prepaid pickup only
Qty Store Section
9 Local Warehouse Software Engineering- Object Oriented Programming

More copies of this ISBN

Other titles in the Addison-Wesley Signature series:

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series)

by

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series) Cover

 

Synopses & Reviews

Publisher Comments:

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

Book News Annotation:

Writing for programmers, designers, and architects of Enterprise applications, Fowler (chief scientist for ThoughtWorks, an Enterprise application development and integration company) and colleagues present a text comprised of a narrative treatment of various topics in the architecture of Enterprise applications and a larger reference section describing domain logic patterns that can be used as solutions to the problems posed in the earlier part of the text. In the narrative section of the text, they cover layering, organizing domain logic, mapping to relational databases, Web presentation, concurrency, session state, and distributions strategies.
Annotation c. Book News, Inc., Portland, OR (booknews.com)

Synopsis:

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
  • 0321127420B10152002

    Synopsis:

    Includes bibliographical references (p. 511-516) and index.

    About the Author

    Martin Fowler is the Chief Scientist of ThoughtWorks, an enterprise-application development and delivery company. He's been applying object-oriented techniques to enterprise software development for over a decade. He is notorious for his work on patterns, the UML, refactoring, and agile methods. Martin lives in Melrose, Massachusetts, with his wife, Cindy, and a very strange cat. His homepage is http://martinfowler.com.

    0321127420AB08212003

    Table of Contents

    Preface.

    Who This Book Is For.

    Acknowledgements.

    Colophon.

    Introduction.

    Architecture.

    Enterprise Applications.

    Kinds of Enterprise Application.

    Thinking About Performance.

    Patterns.

    The Structure of the Patterns.

    Limitations of These Patterns.

    I. THE NARRATIVES.

    1. Layering.

    The Evolution of Layers in Enterprise Applications.

    The Three Principal Layers.

    Choosing Where to Run Your Layers.
    2. Organizing Domain Logic.

    Making a Choice.

    Service Layer.
    3. Mapping to Relational Databases.

    Architectural Patterns.

    The Behavioral Problem.

    Reading in Data

    Structural Mapping Patterns.

    Mapping Relationships.

    Inheritance.

    Building the Mapping.

    Double Mapping.

    Using Metadata.

    Database Connections.

    Some Miscellaneous Points.

    Further Reading.
    4. Web Presentation.

    View Patterns.

    Input Controller Patterns.

    Further Reading.
    5. Concurrency (by Martin Fowler and David Rice).

    Concurrency Problems.

    Execution Contexts.

    Isolation and Immutability.

    Optimistic and Pessimistic Concurrency Control.

    Preventing Inconsistent Reads.

    Deadlocks.

    Transactions.

    ACID.

    Transactional Resources.

    Reducing Transaction Isolation for Liveness.

    Business and System Transactions.

    Patterns for Offline Concurrency Control.

    Application Server Concurrency.

    Further Reading.
    6. Session State.

    The Value of Statelessness.

    Session State.

    Ways to Store Session State.
    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.
    8. Putting it all Together.

    Starting With the Domain Layer.

    Down to the Data Source.

    Data Source for Transaction Script.

    Data Source Table Module (125).

    Data Source for Domain Model (116).

    The Presentation Layer.

    Some Technology-Specific Advice.

    Java and J2EE.

    .NET.

    Stored Procedures.

    Web Services.

    Other Layering Schemes.

    II. THE PATTERNS.

    9. Domain Logic Patterns.

    Transaction Script.

    How It Works.

    When to Use It.

    The Revenue Recognition Problem.

    Example: Revenue Recognition (Java).

    Domain Model.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Revenue Recognition (Java).

    Table Module.

    How It Works.

    When to Use It.

    Example: Revenue Recognition with a Table Module (C#).

    Service Layer(by Randy Stafford).

    How It Works.

    When to Use It.

    Further Reading.

    Example: Revenue Recognition (Java).
    10. Data Source Architectural Patterns.

    Table Data Gateway.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Person Gateway (C#).

    Example: Using ADO.NET Data Sets (C#).

    Row Data Gateway.

    How It Works.

    When to Use It.

    Example: A Person Record (Java).

    Example: A Data Holder for a Domain Object (Java).

    Active Record.

    How It Works.

    When to Use It.

    Example: A Simple Person (Java).

    Data Mapper.

    How It Works.

    When to Use It.

    Example: A Simple Database Mapper (Java).

    Example: Separating the Finders (Java).

    Example: Creating an Empty Object (Java).
    11. Object-Relational Behavioral Patterns.

    Unit of Work.

    How It Works.

    When to Use It.

    Example: Unit of Work with Object Registration (Java) (by David Rice).

    Identity Map.

    How It Works.

    When to Use It.

    Example: Methods for an Identity Map (Java).

    Lazy Load.

    How It Works.

    When to Use It.

    Example: Lazy Initialization (Java).

    Example: Virtual Proxy (Java).

    Example: Using a Value Holder (Java).

    Example: Using Ghosts (C#).
    12. Object-Relational Structural Patterns.

    Identity Field.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Integral Key (C#).

    Example: Using a Key Table (Java).

    Example: Using a Compound Key (Java).

    Foreign Key Mapping.

    How It Works.

    When to Use It.

    Example: Single-Valued Reference (Java).

    Example: Multitable Find (Java).

    Example: Collection of References (C#).

    Association Table Mapping.

    How It Works.

    When to Use It.

    Example: Employees and Skills (C#).

    Example: Using Direct SQL (Java).

    Example: Using a Single Query for Multiple Employees (Java) (by Matt Foemmel and Martin Fowler).

    Dependent Mapping.

    How It Works.

    When to Use It.

    Example: Albums and Tracks (Java).

    Embedded Value.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Simple Value Object (Java).

    Serialized LOB.

    How It Works.

    When to Use It.

    Example: Serializing a Department Hierarchy in XML (Java).

    Single Table Inheritance.

    How It Works.

    When to Use It.

    Example: A Single Table for Players (C#).

    Loading an Object from the Database.

    Class Table Inheritance.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Players and Their Kin (C#).

    Concrete Table Inheritance.

    How It Works.

    When to Use It.

    Example: Concrete Players (C#).

    Inheritance Mappers.

    How It Works.

    When to Use It.
    13. Object-Relational Metadata Mapping Patterns.

    Metadata Mapping.

    How It Works.

    When to Use It.

    Example: Using Metadata and Reflection (Java).

    Query Object.

    How It Works.

    When to Use It.

    Further Reading.

    Example: A Simple Query Object (Java).

    Repository (by Edward Hieatt and Rob Mee).

    How It Works.

    When to Use It.

    Further Reading.

    Example: Finding a Person's Dependents (Java).

    Example: Swapping Repository Strategies (Java).
    14. Web Presentation Patterns.

    Model View Controller.

    How It Works.

    When to Use It.

    Page Controller.

    How It Works.

    When to Use It.

    Example: Simple Display with a Servlet Controller and a JSP View (Java).

    Example: Using a JSP as a Handler (Java).

    Example: Page Handler with a Code Behind (C#).

    Front Controller.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Simple Display (Java).

    Template View.

    How It Works.

    When to Use It.

    Example: Using a JSP as a View with a Separate Controller (Java).

    Example: ASP.NET Server Page (C#).

    Transform View.

    How It Works.

    When to Use It.

    Example: Simple Transform (Java).

    Two Step View.

    How It Works.

    When to Use It.

    Example: Two Stage XSLT (XSLT).

    Example: JSP and Custom Tags (Java).

    Application Controller.

    How It Works.

    When to Use It.

    Further Reading.

    Example: State Model Application Controller (Java).
    15. Distribution Patterns.

    Remote Facade.

    How It Works.

    When to Use It.

    Example: Using a Java Session Bean as a Remote Facade (Java).

    Example: Web Service (C#).

    Data Transfer Object.

    How It Works.

    When to Use It.

    Further Reading.

    Example: Transferring Information about Albums (Java).

    Example: Serializing Using XML (Java).
    16. Offline Concurrency Patterns.

    Optimistic Offline Lock (by David Rice).

    How It Works.

    When to Use It.

    Example: Domain Layer with Data Mappers (165) (Java).

    Pessimistic Offline Lock (by David Rice).

    How It Works.

    When to Use It.

    Example: Simple Lock Manager (Java).

    Coarse-Grained Lock (by David Rice and Matt Foemmel).

    How It Works.

    When to Use It.

    Example: Shared Optimistic Offline Lock (416) (Java).

    Example: Shared Pessimistic Offline Lock (426) (Java).

    Example: Root Optimistic Offline Lock (416) (Java).

    Implicit Lock (by David Rice).

    How It Works.

    When to Use It.

    Example: Implicit Pessimistic Offline Lock (426) (Java).
    17. Session State Patterns.

    Client Session State.

    How It Works.

    When to Use It.

    Server Session State.

    How It Works.

    When to Use It.

    Database Session State.

    How It Works.

    When to Use It.
    18. Base Patterns.

    Gateway.

    How It Works.

    When to Use It.

    Example: A Gateway to a Proprietary Messaging Service (Java).

    Mapper.

    How It Works.

    When to Use It.

    Layer Supertype.

    How It Works.

    When to Use It.

    Example: Domain Object (Java).

    Separated Interface.

    How It Works.

    When to Use It.

    Registry.

    How It Works.

    When to Use It.

    Example: A Singleton Registry (Java).

    Example: Thread-Safe Registry (Java) (by Matt Foemmel and Martin Fowler).

    Value Object.

    How It Works.

    When to Use It.

    Money.

    How It Works.

    When to Use It.

    Example: A Money Class (Java) (by Matt Foemmel and Martin Fowler).

    Special Case.

    How It Works.

    When to Use It.

    Further Reading.

    Example: A Simple Null Object (C#).

    Plugin (by David Rice and Matt Foemmel).

    How It Works.

    When to Use It.

    Example: An Id Generator (Java).

    Service Stub (by David Rice).

    How It Works.

    When to Use It.

    Example: Sales Tax Service (Java).

    Record Set.

    How It Works.

    When to Use It.

    References
    Index. 0321127420T10162002

    Product Details

    ISBN:
    9780321127426
    Author:
    Fowler, Martin
    Publisher:
    Addison-Wesley Professional
    Author:
    Fowler, Martin J.
    Location:
    Boston
    Subject:
    Business
    Subject:
    Programming - General
    Subject:
    Computer Architecture
    Subject:
    Programming - Object Oriented Programming
    Subject:
    Application software
    Subject:
    System design
    Subject:
    Miscellaneous Software
    Subject:
    Programming / Object Oriented
    Subject:
    Software Engineering-Object Oriented Programming
    Copyright:
    Edition Description:
    Hardcover
    Series:
    Addison-Wesley Signature Series (Fowler)
    Series Volume:
    no. 503/504
    Publication Date:
    November 2002
    Binding:
    HARDCOVER
    Grade Level:
    Professional and scholarly
    Language:
    English
    Illustrations:
    Yes
    Pages:
    560
    Dimensions:
    9.6 x 7.6 x 1.3 in 1030 gr

    Other books you might like

    1. Analysis Patterns: Reusable Object... New Hardcover $77.50
    2. Agile Software Development 2ND Edition Used Hardcover $55.00
    3. Refactoring: Improving the Design of... Used Hardcover $49.00
    4. Microsoft Windows Internals 4TH... Used Hardcover $24.00

    Related Subjects

    Computers and Internet » Computer Architecture » General
    Computers and Internet » Computers Reference » General
    Computers and Internet » Personal Computers » General
    Computers and Internet » Software Engineering » General
    Computers and Internet » Software Engineering » Object Oriented Programming
    Reference » General

    Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series) New Hardcover
    0 stars - 0 reviews
    $65.50 In Stock
    Product details 560 pages Addison-Wesley Professional - English 9780321127426 Reviews:
    "Synopsis" by , 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
  • 0321127420B10152002

    "Synopsis" by , Includes bibliographical references (p. 511-516) and index.
    spacer
    spacer
    • back to top
    Follow us on...




    Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.