Contents of This Book

 <  Day Day Up  >  

This book in organized into 17 chapters. The organization of the chapters follows the development of the sample system. It diverts in Chapter 3 to discuss general development issues and in Chapter 6 to examine object-oriented design. The sample system development ends in Chapter 14. Chapter 15 describes a real-life system designed using prefactoring guidelines, and Chapter 16 talks about the design of an antispam system.

Here is a detailed description of the chapter contents:



Chapter 1, Introduction to Prefactoring

This is an introduction to the facets of prefactoring.



Chapter 2, The System in So Many Words

We meet Sam, the client, to get an overall view of the desired system. We discuss creating a shared vocabulary for communication, and we use some extreme abstraction.



Chapter 3, General Development Issues

We look at some general issues in developing a system. This includes the big picture, interface contracts, communicating with code, simplicity, dealing with errors, and the spreadsheet conundrum .



Chapter 4, Getting the Big Picture

We continue talking with Sam to get a clearer understanding of the overall requirements ”the big picture. Then we start to create a design for a system.



Chapter 5, Got Class?

We take our system outline and develop the implementation classes. We explore how single or multiple classes can represent concepts.



Chapter 6, A Few Words on Classes

We look at object-oriented design in general. The class maxims of cohesion and coupling are reviewed, along with the three laws of objects. Polymorphic behavior is demonstrated with both inheritance and interfaces.



Chapter 7, Getting There

We address using separation of concerns to create reports . Planning for migration brings up some additional design issues.



Chapter 8, The First Release

We perform a retrospective on how well our design approach worked. We explore issues that were addressed during development and the additional classes that were created during coding.



Chapter 9, Associations and States

Sam presents us with new requirements. We explore using association classes in the system to implement the requirements. We examine how the state of objects in the system can be represented.



Chapter 10, Interfaces and Adaptation

We create interfaces for Sam's catalog-search use case. We explore how to test these interfaces and how to adapt implementations to meet these interfaces.



Chapter 11, Zip Codes and Interfaces

Sam asks that the system keeps track of customer addresses. We determine how to verify the Zip Codes in addresses using interfaces.



Chapter 12, More Reports

Sam decides he needs fancier reports and different reports. We implement his requests using some of the guidelines already introduced.



Chapter 13, Invoices, Credit Cards, and Discounts

Sam decides it is time to add the ability to invoice customers and charge those invoices to credit cards. We explore interfaces to external credit card processors. We add computation of customer discounts in terms that Sam can understand.



Chapter 14, Sam Is Expanding

Sam is expanding his operations. He is opening more stores, both locally and globally. His store is being featured on the Web. We use many of the previously presented guidelines to develop our approach to this expansion.



Chapter 15, A Printserver Example

This chapter presents a case study involving a real-world system used by libraries to charge for printouts of documents from personal computers. This chapter delineates where guidelines were employed.



Chapter 16, Antispam Example

This chapter examines how email is transmitted and received. It presents a proposed design for an email receiver and spam detector.



Chapter 17, Epilogue

We wrap up with some closing thoughts.

 <  Day Day Up  >  


Prefactoring
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
ISBN: 0596008740
EAN: 2147483647
Year: 2005
Pages: 175
Authors: Ken Pugh

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net