Principles of Package Design: Creating Reusable Software Components Front Cover

Principles of Package Design: Creating Reusable Software Components

  • Length: 275 pages
  • Edition: 1st ed.
  • Publisher:
  • Publication Date: 2018-11-14
  • ISBN-10: 1484241185
  • ISBN-13: 9781484241189
  • Sales Rank: #1329616 (See Top 100 Books)
Description

Apply design principles to your classes, preparing them for reuse. You will use package design principles to create packages that are just right in terms of cohesion and coupling, and are user- and maintainer-friendly at the same time.

The first part of this book walks you through the five SOLID principles that will help you improve the design of your classes. The second part introduces you to the best practices of package design, and covers both package cohesion principles and package coupling principles. Cohesion principles show you which classes should be put together in a package, when to split packages, and if a combination of classes may be considered a “package” in the first place. Package coupling principles help you choose the right dependencies and prevent wrong directions in the dependency graph of your packages.

What You’ll Learn

  • Apply the SOLID principles of class design
  • Determine if classes belong in the same package
  • Know whether it is safe for packages to depend on each other 

Who This Book Is For

Software developers with a broad range of experience in the field, who are looking for ways to reuse,share, and distribute their code

Table of Contents

Part I: Class Design
Chapter 1: The Single Responsibility Principle
Chapter 2: The Open/Closed Principle
Chapter 3: The Liskov Substitution Principle
Chapter 4: The Interface Segregation Principle
Chapter 5: The Dependency Inversion Principle

Part II: Package Design
Chapter 6: The Release/Reuse Equivalence Principle
Chapter 7: The Common Reuse Principle
Chapter 8: The Common Closure Principle
Chapter 9: The Acyclic Dependencies Principle
Chapter 10: The Stable Dependencies Principle
Chapter 11: The Stable Abstractions Principle
Chapter 12: Conclusion

Appendix A: The Full Page Class

To access the link, solve the captcha.