Book description
This innovative book recognizes the need within the object-oriented community for a book that goes beyond the tools and techniques of the typical methodology book. In Analysis Patterns: Reusable Object Models, Martin Fowler focuses on the end result of object-oriented analysis and design—the models themselves. He shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models. Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains including trading, measurement, accounting and organizational relationships.
Recognizing that conceptual patterns cannot exist in isolation, the author also presents a series of "support patterns" that discuss how to turn conceptual models into software that in turn fits into an architecture for a large information system. Included in each pattern is the reasoning behind their design, rules for when they should and should not be used, and tips for implementation. The examples presented in this book comprise a cookbook of useful models and insight into the skill of reuse that will improve analysis, modeling and implementation.
Table of contents
- About This eBook
- Title Page
- Copyright Page
- The Addison-Wesley Object Technology Series
- Foreword by Ralph Johnson
- Foreword by Ward Cunningham
- Contents
- Preface
- 1. Introduction
-
Part 1: Analysis Patterns
- 2. Accountability
- 3. Observations and Measurements
- 4. Observations for Corporate Finance
- 5. Referring to Objects
-
6. Inventory and Accounting
- 6.1 Account
- 6.2 Transactions
- 6.3 Summary Account
- 6.4 Memo Account
- 6.5 Posting Rules
- 6.6 Individual Instance Method
- 6.7 Posting Rule Execution
- 6.8 Posting Rules for Many Accounts
- 6.9 Choosing Entries
- 6.10 Accounting Practice
- 6.11 Sources of an Entry
- 6.12 Balance Sheet and Income Statement
- 6.13 Corresponding Account
- 6.14 Specialized Account Model
- 6.15 Booking Entries to Multiple Accounts
- Further Reading
- References
- 7. Using the Accounting Models
- 8. Planning
- 9. Trading
- 10. Derivative Contracts
- 11. Trading Packages
-
Part 2: Support Patterns
- 12. Layered Architecture for Information Systems
- 13. Application Facades
-
14. Patterns for Type Model Design Templates
-
14.1 Implementing Associations
- 14.1.1 Bidirectional and Unidirectional Associations
- 14.1.2 Interface for Associations
- 14.1.3 Fundamental Types
- 14.1.4 Implementing a Unidirectional Association
- 14.1.5 Bidirectional Implementation by Pointers in Both Directions
- 14.1.6 Bidirectional Implementation by Pointers in One Direction
- 14.1.7 Bidirectional Implementation by Association Objects
- 14.1.8 Comparison of Bidirectional Implementations
- 14.1.9 Derived Mappings
- 14.1.10 Nonset Mappings
-
14.2 Implementing Generalization
- 14.2.1 Implementation by Inheritance
- 14.2.2 Implementation by Multiple Inheritance Combination Classes
- 14.2.3 Implementation by Flags
- 14.2.4 Implementation by Delegation to a Hidden Class
- 14.2.5 Implementation by Creating a Replacement
- 14.2.6 Interface for Generalization
- 14.2.7 Implementing the hasType Operation
- 14.3 Object Creation
- 14.4 Object Destruction
- 14.5 Entry Point
- 14.6 Implementing Constraints
- 14.7 Design Templates for Other Techniques
- References
-
14.1 Implementing Associations
- 15. Association Patterns
- 16. Afterword
- Part 3: Appendix
- Index
- Code Snippets
Product information
- Title: Analysis Patterns: Reusable Object Models
- Author(s):
- Release date: May 2015
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134271453
You might also like
book
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up …
book
Building Micro-Frontends
What's the answer to today's increasingly complex web applications? Micro-frontends. Inspired by the microservices model, this …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Working Effectively with Legacy Code
This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having …