Synopses & Reviews
The first edition of Effective C++ sold nearly 100,000 copies and was translated into four languages. It's easy to understand why. Scott Meyers' practical approach to C++ described the rules of thumb employed by the experts--the things they almost always do or almost always avoid doing--to produce clear, correct, efficient code.
Each of this book's 50 guidelines summarizes a way to write better C++, and the accompanying discussions are backed by specific examples. For this new edition, Meyers reworked every guideline in the book. The result is exceptional adherence to C++'s Draft International Standard, current compiler technology, and the latest insights into the use of C++ for real-world applications.
Highlights of Effective C++, Second Edition include:
Expert guidance on object-oriented design, class design, and the proper use of inheritance
An examination of the standard C++ library, including how the Standard Template Library and classes like string and vector affect the structure of well-written programs
Discussions of late-breaking language features like in-class constant initializations, namespaces, and member templates
Wisdom usually possessed by only the most experienced developers
Effective C++ continues to be essential reading for every developer working with C++.
Synopsis
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.
0201895420B07092001
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.
0201895420AB08212003
Table of Contents
(NOTE:
Each chapter concludes with References.)
Foreword.
Preface.
1. Introduction.
Conceptual Models.
The World of Patterns.
The Patterns in this Book.
Conceptual Models and Business Process Reengineering.
Patterns and Frameworks.
Using the Patterns.
I. ANALYSIS PATTERNS. 2. Accountability.
Party.
Organization Hierarchies.
Organization Structure.
Accountability.
Accountability Knowledge Level.
Party Type Generalizations.
Hierarchic Accountability.
Operating Scopes.
Post. 3. Observations and Measurements.
Quantity.
Conversion Ratio.
Compound Units.
Measurement.
Observation.
Subtyping Observation Concepts.
Protocol.
Dual Time Record.
Rejected Observation.
Active Observation, Hypothesis, and Projection.
Associated Observation.
Process of Observation. 4. Observations for Corporate Finance.
Enterprise Segment.
Measurement Protocol.
Range.
Phenomenon with Range.
Using the Resulting Framework. 5. Referring to Objects.
Name.
Identification Scheme.
Object Merge.
Object Equivalence. 6. Inventory and Accounting.
Account.
Transactions.
Summary Account.
Memo Account.
Posting Rules.
Individual Instance Method.
Posting Rule Execution.
Posting Rules for Many Accounts.
Choosing Entries.
Accounting Practice.
Sources of an Entry.
Balance Sheet and Income Statement.
Corresponding Account.
Specialized Account Model.
Booking Entries to Multiple Accounts.
Further Reading. 7. Using the Accounting Models.
Structural Models.
Implementing the Structure.
Setting Up New Phone Services.
Setting Up Calls.
Implementing Account-based Firing.
Separating Calls into Day and Evening.
Charging for Time.
Calculating the Tax.
Concluding Thoughts. 8. Planning.
Proposed and Implemented Action.
Completed and Abandoned Actions.
Suspension.
Plan.
Protocol.
Resource Allocation.
Outcome and Start Functions. 9. Trading.
Contract.
Portfolio.
Quote.
Scenario. 10. Derivative Contracts.
Forward Contracts.
Options.
Product.
Subtype State Machines.
Parallel Application and Domain Hierarchies. 11. Trading Packages.
Multiple Access Levels to a Package.
Mutual Visibility.
Subtyping Packages.
Concluding Thoughts.
II. SUPPORT PATTERNS. 12. Layered Architecture for Information Systems.
Two-Tier Architecture.
Three-Tier Architecture.
Presentation and Application Logic.
Database Interaction.
Concluding Thoughts. 13. Application Facades.
A Health Care Example.
Contents of a Facade.
Common Methods.
Operations.
Type Conversions.
Multiple Facades. 14. Patterns for Type Model Design Templates.
Implementing Associations.
Implementing Generalization.
Object Creation.
Object Destruction.
Entry Point.
Implementing Constraints.
Design Templates for Other Techniques. 15. Association Patterns.
Associative Type.
Keyed Mapping.
Historic Mapping. 16. Afterword.
III. APPENDIX. Appendix A. Techniques and Notations.
Type Diagrams.
Interaction Diagrams.
Event Diagrams.
State Diagrams.
Package Diagrams. Appendix B. Table of Patterns.
Index. 0201895420T04062001