31.1. Package Organization Guidelines

Guideline: Package Functionally Cohesive Vertical and Horizontal Slices

The basic “intuitive” principle is modularization based on functional cohesion—types are grouped together that are strongly related in terms of their participation in a common purpose, service, collaborations, policy, and function. For example, all the types in the NextGen Pricing package are related to product pricing. The layers and packages in the NextGen design are organized by functional groups.

In addition to the usually sufficient informal guesswork on grouping by function (“I think class SalesLineItem belongs in Sales”) another clue to functional grouping is a cluster of types with strong internal coupling and weaker extra-cluster ...

Get Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.