marstr / envelopes

A collection of Go packages to express Budget calculations and state easily.
Apache License 2.0
6 stars 0 forks source link

Adding Repository interface collections #37

Closed marstr closed 3 years ago

marstr commented 3 years ago

Many pieces of functionality take a collection of today's interfaces to do their job, while many times that functionality is provided by the same object. This lead to awkwardness, like RefSpecResolver types that were initialized with a bunch of copies of the same object.

While some of these interfaces represent a lot of methods that need to be implemented, which does tend to weaken the abstraction, it is still desirable to use the lowest-level of interface available. If you only need a persist.Loader, only call for a persist.Loader. The newly published interfaces seek to provide at least some very commonly needed bundles of functionality to ease some awkwardness.