Understand source and package componentization

Completed

Current development practices already have the notion of componentization.

There are two ways of componentization commonly used.

  1. Source componentization The first way of componentization is focused on source code. It refers to splitting the source code in the codebase into separate parts and organizing it around the identified components.
    It works if the source code isn't shared outside of the project. Once the components need to be shared, it requires distributing the source code or the produced binary artifacts created from it.

  2. Package componentization The second way uses packages. Distributing software components is performed utilizing packages as a formal way of wrapping and handling the components.
    A shift to packages adds characteristics needed for proper dependency management, like tracking and versioning packages in your solution.

See also Collaborate more and build faster with packages.