
The Clean Architecture is built upon the "SOLID" principles which are:





Repository contains Entities with data and Scope mapped to that Entity:
/// Creates a Map collection of Repository Scope and Entity Type.
Map<RepositoryScope, Entity> scopes = {};
To get a Scope for current Entity use method:
/// Checks if a Scope is associated with a specific Entity Type.
containsScope<E extends Entity>()
To get an Entity for current scope use method:
/// Returns the Entity associated with the Scope in the Map collection.
get<E extends Entity>(RepositoryScope scope)
To create a new scope for an existing Entity use method:
/// Creates a Scope if One is not already set, if set return existing scope.
create<E extends Entity>(E entity, Function(dynamic) subscription)
To update a scope for an existing Entity use method:
/// Updates an existing Scope to a scope provided to the method.
update<E extends Entity>(RepositoryScope scope, E entity)
To execute the Service Adapter use method:
/// Execute the provided Service Adapter with the associated Scope.
runServiceAdapter(RepositoryScope scope, ServiceAdapter adapter)






