Object-Oriented Reengineering PatternsElsevier Science, 2003 - 282 sider The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point.Many systems can be upgraded or simply thrown away if they no longer serve their purpose. Legacy software, however, is crucial for operations and needs to be continually available and upgraded. How can you reduce the complexity of a legacy system sufficiently so that it can continue to be used and adapted at acceptable cost?Based on the authors' industrial experiences, this book is a guide on how to reverse engineer legacy systems to understand their problems, and then reengineer those systems to meet new demands. Patterns are used to clarify and explain the process of understanding large code bases, hence transforming them to meet new requirements. The key insight is that the right design and organization of your system is not something that can be evident from the initial requirements alone, but rather as a consequence of understanding how these requirements evolve. |
Indhold
Reengineering Patterns | 1 |
Setting Direction | 17 |
5 Fix Problems Not Symptoms | 23 |
Copyright | |
12 andre sektioner vises ikke
Andre udgaver - Se alle
Object-oriented Reengineering Patterns Serge Demeyer,Stéphane Ducasse,Oscar Nierstrasz Begrænset visning - 2009 |
Object-Oriented Reengineering Patterns Serge Demeyer,Stéphane Ducasse,Oscar Nierstrasz Begrænset visning - 2002 |
Object-Oriented Reengineering Patterns Serge Demeyer,Stéphane Ducasse,Oscar Marius Nierstrasz Begrænset visning - 2003 |
Almindelige termer og sætninger
abstract applying architecture Build Confidence business rules changes class diagram Client Type Checks Close to Data complex conditional code context continued countHandledFiles data containers Data Pattern 9.1 database schema defined deprecated design patterns documentation Dotplots duplicated code Eliminate Navigation Code Employee example Figure FileList files foreign key identify ifTrue implement Incrementally Pattern indirect clients instance variables Intent Interface Pattern introduce invoked Java law of Demeter legacy component legacy system lines of code Message metrics Move Behavior Close Null Object object-oriented Pattern Languages polymorphic problem is difficult problem is feasible Program provider class provider hierarchy public interface Rationale reengineering project Refactor to Understand Referenced regression tests reverse engineering Right Interface Smalltalk software system Solution solving this problem source code steps Strategy Strategy Pattern subclasses suffix tion tool client Trade-offs Pros Transform Client Type Transform Conditionals Transform Self Type Type Checks Type Checks Pattern void Write Tests