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.
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 apersist.Loader
. The newly published interfaces seek to provide at least some very commonly needed bundles of functionality to ease some awkwardness.