In what year did you read the Chinese edition of Martin Fowler’s classic Analysis Patterns: Reusable Object Models? 2004 years? 2010 years? After so many years, things change, the memory of several generations of programmers, a good book, is really can accompany you for a long time.

In 2020, the Asynchronous Community of Posts and Telecommunications Publishing House will bring this classic book back to the world. Will you remember your story with this book? We look forward to your sharing.

Analysis Patterns: Reusable Object Models.

Analysis patterns: Reusable object models

The industry comments

This book makes an important contribution to the growing literature on patterns. It extracts sophisticated object modeling techniques from different fields and generalizes them into a series of patterns. These domain patterns will help you solve challenging modeling problems that span different domains.

— Erich Gamma, Head of object Technology at IFA Consulting

 

The author offers us the answer, not just the process of getting it. This way, you can look beyond the plain writing to find the substance to build your next business object model.

— Ward Cunningham, Cunningham & Cunningham

 

The Team of Four (Gamma et al.) discusses generic design patterns in Design Patterns: The Foundations of Reusable Object-oriented Software, a long-awaited book that does the same with applying domain patterns. This is a must-read for all analysts and designers involved in object-oriented business modeling and business process reengineering.

— Donald G. Firesmith, Knowledge Systems

This book is about analyzing patterns that reflect the conceptual structure of business processes rather than software implementations. Most chapters discuss patterns in various domains. These models are difficult to categorize along traditional vertical lines (manufacturing, finance, healthcare, etc.) because they can often be applied to multiple domains. These patterns are important because they help to understand the way people perceive the world. It is valuable to base the design of computer systems on this knowledge and, indeed, to change it further. “Changing this perception” is achieved through so-called Business Process Reengineering (DPR).

However, conceptual patterns cannot exist in isolation. Conceptual models are useful only if software engineers understand how to implement them. In this book, I introduce patterns for turning conceptual models into software and discuss how such software can be adapted to large-scale system architectures. In addition, the book discusses specific implementation techniques for patterns.

Remember to kill

Screenshot from Douban

These several versions you have read which one, the answer is not to reveal the age! Ha ha.

Programmers ten years ago said this:

Screenshot from Douban

directory

Although you may have already read the table of contents, I want to show it to you.

Chapter 1 Introduction 1 1.1 Conceptual Models 1 1.2 The World of Patterns 4 1.3 Patterns in this book 7 1.4 Conceptual models and Business Process Reengineering 9 1.5 Patterns and Frameworks 9 1.6 Patterns in use 10 Refs 12 Part I Analysis Patterns Chapter 2 Responsibilities 15 2.1 Party model 16 2.2 Organization Hierarchies model 17 2.3 Organization Structure model 18 2.4 Accountability model 20 2.5 Accountability Knowledge Level 21 2.6 Party Type Generalizations 23 2.7 Hierarchic Accountability 24 2.8 Operating Scopes 26 2.9 Post 27 Refs 28 Chapter 3 Observation and Measurement 29 3.1 Quantity 30 3.2 Conversion Ratio model 31 3.3 Compound Units model 32 3.4 Measurement model 34 3.5 Observation model 35 3.6 Subtyping Observation Concepts 38 3.7 Protocol 38 3.8 Dual Time Record 39 3.9 Rejected Observation 40 3.10 Active Observation, Hypothesis and Hypothesis And Projection) model 40 3.11 Associated Observation model 41 3.12 Process of Observation model 42 Ref.45 Chapter 4 Use observation mode in the field of Enterprise finance. 46 4.1 Enterprise Segment mode 47 4.2 Measurement Protocol mode 53 4.3 Range mode 61 4.4 Phenomenon with Range pattern 62 4.5 Using the Resulting Framework pattern 66 Bibliography 67 Chapter 5 References Object 68 5.1 Name pattern 69 5.2 Identification Scheme 70 5.3 Object Merge 72 5.4 Object Equivalence 74 Refs. 75 Chapter 6 Inventory and Accounting 76 6.1 Account 78 6.2 Transactions 79 6.3 Summary Account 81 6.4 Memo Account 83 6.5 Posting Rules 84 6.6 Individual Instance Method 85 6.7 Posting Rule Execution 90 6.8 Posting Rules Execution Posting Rules for Many Accounts 94 6.9 Choosing Entries 96 6.10 Accounting Practice 97 6.11 Sources of an Entry pattern 99 6.12 Balance Sheet and Income Statement Pattern 99 6.13 Corresponding accounts Account mode 100 6.14 Specialized Account Model mode 101 6.15 Booking Entries to Multiple Accounts mode 103 106 References 107 Chapter 7 Using accounting Model 108 7.1 Structural model 109 7.2 Implementing the structure 111 7.3 Creating a New telephone service 113 7.4 Establishing a call 115 7.5 Implementing account-based triggering 116 7.6 Dividing day and night calls 117 7.7 Time-based charges 119 7.8 Tax 122 7.9 Conclusions and Reflections 123 REFs 127 Chapter 8 Plans 128 8.1 Proposed and Implemented Action model 129 8.2 Completed and Abandoned Actions mode 130 8.3 Suspension mode 131 8.4 Plan mode 132 8.5 Protocol mode 134 8.6 Resource Allocation mode 137 8.7 Outcome and Start Functions mode 140 Refs. 142 Chapter 9 Transactions 143 9.1 Contract model 143 9.2 Portfolio model 147 9.3 Quote model 150 9.4 Scenario model 153 Ref 160 Chapter 10 Derivative Contract 161 10.1 Forward Contracts 162 10.2 Options 163 10.3 Product 168 10.4 Subtype State Machines 172 10.5 Parallel Application and Domain Hierarchies pattern 177 Ref. 182 Chapter 11 Transaction Package 183 Multiple Access for package 11.1 Levels to a Package pattern 183 11.2 Mutual Visibility pattern 186 11.3 Subtyping Packages pattern 189 11.4 Conclusions and Reflections 190 Bibliography 190 Part 2 Supported Modes Chapter 12 Layered Architecture of Information Systems 193 12.1 Two-Tier Architecture 194 12.2 Three-Tier Architecture 195 12.3 Presentation and Application Logic 198 12.4 Database Interaction 203 12.5 Conclusions and Reflections 206 Refs Chapter 13 Applied Facade 208 13.1 An example from the healthcare field 208 13.2 Content of facade 209 13.3 General Methods 213 13.4 Operations 213 13.5 Type Conversion 214 13.6 Multiple Facade 216 References 217 Chapter 14 Type model Design Template Pattern 218 14.1 Implements association pattern 220 14.2 Implements Generalization pattern 226 14.3 Implements Object creation Creation mode 232 14.4 Object Destruction mode 233 14.5 Entry Point mode 234 14.6 Implementing Constraints mode 236 14.7 Design Templates for Other Technologies 237 References 238 Chapter 15 Association Mode 239 15.1 Associative Type 240 15.2 Keyed Mapping 242 15.3 Historic Mapping 243 Refs. 247 Chapter 16 Postscript 248 Refs. 249 Appendix A Technology and Notation 250 A. 1 Type figure 250 A. 2 Interaction Figure 259 A. 3 Event Figure 260 A. 4 State figure 261 A. 5 Package 262 Bibliography 263 Appendix B List of Models 265

In what year did you read the Chinese edition of Martin Fowler’s classic Analysis Patterns: Reusable Object Models? 2004 years? 2010 years? After so many years, things change, the memory of several generations of programmers, a good book, is really can accompany you for a long time.

In 2020, the Asynchronous Community of Posts and Telecommunications Publishing House will bring this classic book back to the world. Will you remember your story with this book? We look forward to your sharing.

Analysis Patterns: Reusable Object Models.

Analysis patterns: Reusable object models

The industry comments

This book makes an important contribution to the growing literature on patterns. It extracts sophisticated object modeling techniques from different fields and generalizes them into a series of patterns. These domain patterns will help you solve challenging modeling problems that span different domains.

— Erich Gamma, Head of object Technology at IFA Consulting

 

The author offers us the answer, not just the process of getting it. This way, you can look beyond the plain writing to find the substance to build your next business object model.

— Ward Cunningham, Cunningham & Cunningham

 

The Team of Four (Gamma et al.) discusses generic design patterns in Design Patterns: The Foundations of Reusable Object-oriented Software, a long-awaited book that does the same with applying domain patterns. This is a must-read for all analysts and designers involved in object-oriented business modeling and business process reengineering.

— Donald G. Firesmith, Knowledge Systems

This book is about analyzing patterns that reflect the conceptual structure of business processes rather than software implementations. Most chapters discuss patterns in various domains. These models are difficult to categorize along traditional vertical lines (manufacturing, finance, healthcare, etc.) because they can often be applied to multiple domains. These patterns are important because they help to understand the way people perceive the world. It is valuable to base the design of computer systems on this knowledge and, indeed, to change it further. “Changing this perception” is achieved through so-called Business Process Reengineering (DPR).

However, conceptual patterns cannot exist in isolation. Conceptual models are useful only if software engineers understand how to implement them. In this book, I introduce patterns for turning conceptual models into software and discuss how such software can be adapted to large-scale system architectures. In addition, the book discusses specific implementation techniques for patterns.

Remember to kill

Screenshot from Douban

These several versions you have read which one, the answer is not to reveal the age! Ha ha.

Programmers ten years ago said this:

Screenshot from Douban

directory

Although you may have already read the table of contents, I want to show it to you.

Chapter 1 Introduction 1 1.1 Conceptual Models 1 1.2 The World of Patterns 4 1.3 Patterns in this book 7 1.4 Conceptual models and Business Process Reengineering 9 1.5 Patterns and Frameworks 9 1.6 Patterns in use 10 Refs 12 Part I Analysis Patterns Chapter 2 Responsibilities 15 2.1 Party model 16 2.2 Organization Hierarchies model 17 2.3 Organization Structure model 18 2.4 Accountability model 20 2.5 Accountability Knowledge Level 21 2.6 Party Type Generalizations 23 2.7 Hierarchic Accountability 24 2.8 Operating Scopes 26 2.9 Post 27 Refs 28 Chapter 3 Observation and Measurement 29 3.1 Quantity 30 3.2 Conversion Ratio model 31 3.3 Compound Units model 32 3.4 Measurement model 34 3.5 Observation model 35 3.6 Subtyping Observation Concepts 38 3.7 Protocol 38 3.8 Dual Time Record 39 3.9 Rejected Observation 40 3.10 Active Observation, Hypothesis and Hypothesis And Projection) model 40 3.11 Associated Observation model 41 3.12 Process of Observation model 42 Ref.45 Chapter 4 Use observation mode in the field of Enterprise finance. 46 4.1 Enterprise Segment mode 47 4.2 Measurement Protocol mode 53 4.3 Range mode 61 4.4 Phenomenon with Range pattern 62 4.5 Using the Resulting Framework pattern 66 Bibliography 67 Chapter 5 References Object 68 5.1 Name pattern 69 5.2 Identification Scheme 70 5.3 Object Merge 72 5.4 Object Equivalence 74 Refs. 75 Chapter 6 Inventory and Accounting 76 6.1 Account 78 6.2 Transactions 79 6.3 Summary Account 81 6.4 Memo Account 83 6.5 Posting Rules 84 6.6 Individual Instance Method 85 6.7 Posting Rule Execution 90 6.8 Posting Rules Execution Posting Rules for Many Accounts 94 6.9 Choosing Entries 96 6.10 Accounting Practice 97 6.11 Sources of an Entry pattern 99 6.12 Balance Sheet and Income Statement Pattern 99 6.13 Corresponding accounts Account mode 100 6.14 Specialized Account Model mode 101 6.15 Booking Entries to Multiple Accounts mode 103 106 References 107 Chapter 7 Using accounting Model 108 7.1 Structural model 109 7.2 Implementing the structure 111 7.3 Creating a New telephone service 113 7.4 Establishing a call 115 7.5 Implementing account-based triggering 116 7.6 Dividing day and night calls 117 7.7 Time-based charges 119 7.8 Tax 122 7.9 Conclusions and Reflections 123 REFs 127 Chapter 8 Plans 128 8.1 Proposed and Implemented Action model 129 8.2 Completed and Abandoned Actions mode 130 8.3 Suspension mode 131 8.4 Plan mode 132 8.5 Protocol mode 134 8.6 Resource Allocation mode 137 8.7 Outcome and Start Functions mode 140 Refs. 142 Chapter 9 Transactions 143 9.1 Contract model 143 9.2 Portfolio model 147 9.3 Quote model 150 9.4 Scenario model 153 Ref 160 Chapter 10 Derivative Contract 161 10.1 Forward Contracts 162 10.2 Options 163 10.3 Product 168 10.4 Subtype State Machines 172 10.5 Parallel Application and Domain Hierarchies pattern 177 Ref. 182 Chapter 11 Transaction Package 183 Multiple Access for package 11.1 Levels to a Package pattern 183 11.2 Mutual Visibility pattern 186 11.3 Subtyping Packages pattern 189 11.4 Conclusions and Reflections 190 Bibliography 190 Part 2 Supported Modes Chapter 12 Layered Architecture of Information Systems 193 12.1 Two-Tier Architecture 194 12.2 Three-Tier Architecture 195 12.3 Presentation and Application Logic 198 12.4 Database Interaction 203 12.5 Conclusions and Reflections 206 Refs Chapter 13 Applied Facade 208 13.1 An example from the healthcare field 208 13.2 Content of facade 209 13.3 General Methods 213 13.4 Operations 213 13.5 Type Conversion 214 13.6 Multiple Facade 216 References 217 Chapter 14 Type model Design Template Pattern 218 14.1 Implements association pattern 220 14.2 Implements Generalization pattern 226 14.3 Implements Object creation Creation mode 232 14.4 Object Destruction mode 233 14.5 Entry Point mode 234 14.6 Implementing Constraints mode 236 14.7 Design Templates for Other Technologies 237 References 238 Chapter 15 Association Mode 239 15.1 Associative Type 240 15.2 Keyed Mapping 242 15.3 Historic Mapping 243 Refs. 247 Chapter 16 Postscript 248 Refs. 249 Appendix A Technology and Notation 250 A. 1 Type figure 250 A. 2 Interaction Figure 259 A. 3 Event Figure 260 A. 4 State figure 261 A. 5 Package 262 Bibliography 263 Appendix B List of Models 265

Refactoring to Improve the Design of Existing Code (Paperback Edition 2) by Martin Fowler

Refactoring improves the design of existing code (paperback version 2)

This highly anticipated second edition is an overhaul of the first edition, reflecting many of the changes that have taken place in programming. The list of refactorings introduced in version 2 is more cohesive, with code examples rewritten in JavaScript. In addition, refactoring examples related to functional programming have been added in version 2 to teach readers how to refactor without classes. The new edition follows the structure of version 1, explaining in turn what refactoring is, why it is needed, how to identify code that needs refactoring by “bad smell,” and how to successfully implement refactoring in practice (regardless of the programming language). ● Understand the refactoring process and basic principles of refactoring; ● Fast and effective application of a variety of reconstruction techniques, improve the expression and maintainability of the program; ● Identify “bad smells” in code that indicate areas that need refactoring; ● In-depth understanding of various refactoring techniques, each of which contains four sections: explanation, motivation, practice and example; ● Build robust tests to support refactoring; ● Understand the trade-offs and challenges of refactoring. This book is a collection of valuable lessons learned over the years by experts in the software development community, and contains ideas and gems that are worth re-reading and often re-reading.

Refactoring improves the design of existing code (paperback version 2)

This highly anticipated second edition is an overhaul of the first edition, reflecting many of the changes that have taken place in programming. The list of refactorings introduced in version 2 is more cohesive, with code examples rewritten in JavaScript. In addition, refactoring examples related to functional programming have been added in version 2 to teach readers how to refactor without classes. The new edition follows the structure of version 1, explaining in turn what refactoring is, why it is needed, how to identify code that needs refactoring by “bad smell,” and how to successfully implement refactoring in practice (regardless of the programming language). ● Understand the refactoring process and basic principles of refactoring; ● Fast and effective application of a variety of reconstruction techniques, improve the expression and maintainability of the program; ● Identify “bad smells” in code that indicate areas that need refactoring; ● In-depth understanding of various refactoring techniques, each of which contains four sections: explanation, motivation, practice and example; ● Build robust tests to support refactoring; ● Understand the trade-offs and challenges of refactoring. This book is a collection of valuable lessons learned over the years by experts in the software development community, and contains ideas and gems that are worth re-reading and often re-reading.