Package principles#Principles of package cohesion

{{Short description|Way of organizing classes in larger systems}}

In computer programming, package principles are a way of organizing classes in larger systems to make them more organized and manageable. They aid in understanding which classes should go into which packages (package cohesion) and how these packages should relate with one another (package coupling). Package principles also includes software package metrics, which help to quantify the dependency structure, giving different and/or more precise insights into the overall structure of classes and packages.{{cite web|url=http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod|title=Principles of OOD | archive-url=https://web.archive.org/web/20220121055640/butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod |archive-date=2022-01-21 }}{{cite journal|url=http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOGM2ZGFhNmYtNmE4ZS00OGY5LWFkZTYtMjE0ZGNjODQ0MjEx&hl=en | title=Granularity | journal=C++ Report | publisher=SIGS Publications Group | author=Martin, Robert C. | volume=Nov-Dec 1996 | year=1996 }}{{cite book | title=Agile Software Development, Principles, Patterns, and Practices | publisher=Prentice Hall | author=Martin, Robert C. | year=2002 | isbn=978-0135974445 | url-access=registration | url=https://archive.org/details/agilesoftwaredev00robe }}

See also

References