Many of you have already discovered the power of object-oriented design patterns when defining and implementing complex applications. IBM's SanFrancisco Application Business Components is a set of frameworks that have been built around design patterns, both those that are well known throughout the software industry and new patterns described in this book. Why new design patterns? As we analyzed the requirements of typical business applications, we discovered many recurring situations whose needs were not adequately met by existing patterns. Often those needs could be met by extensions of well-known patterns; sometimes new patterns arose directly out of specific business application requirements. This book covers both the extended and the new patterns of IBM SanFrancisco, describing them within the context of a typical business application's requirements.
So what should you expect to get out of this book? The design patterns documented here capture the experiences we have gained from developing business components across multiple business domains. Every pattern in this book has been refined through multiple uses within SanFrancisco and has been validated by users of the frameworks as they build and deploy applications based on SanFrancisco. In particular, we have found these patterns very useful in helping us "think outside of the box" when confronted with complex business application requirements.
Regardless of your level of design experience, we encourage you to read this book with an eye toward the design problems you have come across in your past and toward opportunities to apply these patterns (or extensions of them) to your current projects.
About This Book
This book follows the format established by Gamma, Vlissides, Johnson, and Helm (the "Gang of Four") in their groundbreaking book Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995). Beginning in Chapter 2 with a case study describing a typical set of business requirements for a hypothetical food distribution enterprise, the book continues with chapters that address each design pattern in turn. Each pattern is defined along the lines of the standard design pattern template used by the Design Patterns book, typically incorporating an aspect of the case study to provide a concrete example that motivates the pattern.
Introduction
Over the course of IBM SanFrancisco development, our belief in design patterns as a core component of effective object-oriented development has been strongly reinforced. Chapter 1 distills some of the key reasons for this belief. Those of you who are already sold on design patterns won't find any great revelations here, but we hope you will find the consolidation of these points in one place to be useful. Those of you who are new to design patterns will find some strong arguments for using them in all your object-oriented development projects.
Case Study
Design patterns don't exist in a vacuum. Each design pattern described in this book was developed as a result of meeting real-life business application requirements. What we have attempted to do in the case study (Chapter 2) is provide a business context for many of the patterns in this book. (Although not all patterns are used in the case study, we provide a detailed business motivation in each pattern chapter of this book.) If your background is oriented toward business analysis, the case study will help justify these patterns and will help you make the leap from business domain analysis to object-oriented design. If your background is primarily technical, the case study will help you communicate with business experts as you jointly explore the right solutions for specific application requirements.
Design Patterns
Design patterns, as you would expect, are the core of this book. Many of the design patterns we describe build on or are extensions of patterns defined in Design Patterns, and you will find it helpful to have previously read about and used those patterns. However, each pattern in this book is described in enough detail for you to understand its purpose, design, and implementation without a detailed knowledge of any underlying design patterns.
This book divides the patterns into five major categories:
Part I: Foundational Patterns. SanFrancisco's foundational patterns provide an underlying structure for all SanFrancisco-based business objects. The foundational patterns provide mechanisms for business object creation, changing behavior, and construction of business processes. Many of these patterns are incorporated into higher-level patterns described in the remaining parts of the book. Part II: Behavioral Patterns. SanFrancisco's behavioral patterns describe various methods of incorporating flexible algorithms throughout a business application. Each of the behavioral object patterns described in this book defines a variation or extension of the Strategy pattern defined by Design Patterns. Part III: Structural Patterns. SanFrancisco's structural patterns are concerned with how business information is organized and accessed. Structural class patterns deal with the issue of business information access through inheritance. Structural object patterns define how business information (in the form of business objects) is organized within the scope of a complex business environment. Part IV: Process Patterns. SanFrancisco's process patterns are concerned with how businesses organize and process information. The process patterns do not identify the information involved, but rather define how businesses work with that information. Process patterns can be applied in many business situations. The use of these patterns provides consistency for the same types of processes, allowing the user to grasp more quickly the mode of information processing and the flexibility provided as part of that processing. Part V: Dynamic Behavioral Patterns. SanFrancisco's dynamic behavioral patterns describe object-oriented approaches for modeling entities in the business domain that exhibit behavioral changes throughout their existence--not only changes to existing behavior, but also changes to the set of behaviors (responsibilities) supported by the business entity at any given time. The dynamic behavioral patterns described in this book build on the general concepts described in the State pattern of Design Patterns and on one another.
0201616440P04062001
"This book is priceless because it explains why the developers of SanFrancisco designed things the way they did. As such it takes a good hard look at the problems involved in writing flexible business software, and the patterns inherent in the solutions this team came up with."
--Martin Fowler
The much-anticipated SanFrancisco Application Business Components product from IBM provides a platform-independent infrastructure and ready-built components for constructing business applications. SanFrancisco is one of largest software projects based on Java technology, providing Common Business Objects that can be used in many different application domains and Core Business Processes that each address a specific application domain. SanFrancisco™ Design Patterns documents the design patterns identified as part of this ambitious multidomain development effort.
Design patterns are the heart of SanFrancisco. Whether building a business application in SanFrancisco or from scratch, the patterns identified in this book will help you build flexibility, power, and strength into your business applications. This book follows the format established by the seminal Design Patterns, with a case study providing a business context for patterns running throughout the book. The authors focus on the generic use of these patterns, using SanFrancisco as an example.
With this book as your guide, you will learn how to use and extend these patterns within the context of a business application's requirements. SanFrancisco™ Design Patterns explains the purpose, design, and implementation of patterns in the following categories:
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
20 of 21 people found the following review helpful:
5.0 out of 5 stars
Excellent Design Pattern book,
By
This review is from: SanFrancisco(TM) Design Patterns: Blueprints for Business Software (Paperback)
I found the book very readable. Each pattern is presented in the style of the GoF book. Also, each comes with a sample implementation in Java. A pity is that these implementations are not found on the CD that comes with the book.This book is definitely more readable then the GoF book. However, it is definitely not a book for beginners without prior understanding of the design patterns found in the GoF book. While the GoF is geared towards design patterns for O-O development, this book is aimed at design patterns for the development of business applications. This book is good insights for developers even if they are not using the San Franciso product.
15 of 17 people found the following review helpful:
5.0 out of 5 stars
Excellent,
By
Amazon Verified Purchase(What's this?)
This review is from: SanFrancisco(TM) Design Patterns: Blueprints for Business Software (Paperback)
This is a very important book.My previous reading experience on patterns has included the Design Patterns book (by the Gang of Four) and Analysis Patterns by Martin Fowler. I found this book to be more than just a fascinating fusion of the two. The creators of the IBM SanFrancisco framework have done an invaluable service for patterns users in general by providing a concrete and reusable reference implementation that demonstrates both the patterns and the interactions between patterns. Make no mistake, there are definitely new patterns in this book. With some, it's easy to trace their origins to certain GoF patterns, but they still stand alone. Others are complex, sophisticated, and utterly new to mainstream patterns literature. This book is the essential patterns book of the year for anyone involved in the patterns community.
5 of 5 people found the following review helpful:
5.0 out of 5 stars
An insightful and invaluable reference,
By
This review is from: SanFrancisco(TM) Design Patterns: Blueprints for Business Software (Paperback)
This is a book for any developer wishing to learn state of the art ways to cope with increasing features, flexibility, and dynamism in modern business systems. You don't need to touch SanFrancisco to get tremendous value from these authors.The real benefit, I think, is that this book exposes a whole lot of what some would term "techniques that are deep down in the bag of tricks". Many of these patterns are definitely tried and tested. I have some of these patterns (Property Container, Policy, and Extensible Item, in particular) from past systems that I've built or studied. Some patterns are newer and more complex (such as Business Entity Lifecycle and Decoupled Processes), which are definitely worthy of further study. I've read the book several times, and learn something new with each pass. It comes with my highest recommendation.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|