Say I have a service that has the following hierarchy:
- Business Logic
- Data Adapter
All of these make up a service that presents an HTTP API that can be used by other services. Together these layers form a functional piece of an application.
Does it make sense to package each of these layers together as 1 versioned unit? Or to package each individualy with its own version and then consume eachother as a package dependency using NuGet for example. Controller consumes the business logic package which in turn consumes the data adapter package.
Would there be any benefit over the other?
Essentially what I'm asking is should packages be left for shared code across many services/applications or should the guts of a service also use packages to manage its internal dependencies in its own stack?