emkore 0.0.6 copy "emkore: ^0.0.6" to clipboard
emkore: ^0.0.6 copied to clipboard

/// :emko core | A Clean Architecture-inspired Dart library by :emko

EMKORE #

:emko core package is a Clean Architecture-inspired library for building cross-platform applications in Dart. Being a core package, it does not depend on any platform-specific libraries, making it suitable for use in Flutter, Dart console applications, and other Dart environments. Being a port from a typescipt library, it has some changes due to the differences between the languages, but the core concepts remain the same. We are still looking for improvements and optimizations.

The Core Concepts #

  • Entities: These are the core business objects that encapsulate the application's domain logic. They are independent of any external libraries or frameworks. They know nothing about the outside world and are not aware of any specific implementation details.
  • Use Cases: These are the application-specific business rules defined as abstract classes to avoid implementation details at a step when they are defined. Use cases orchestrate the flow of data to and from entities and are responsible for executing the business logic of the application.
  • Repositories: These are interfaces that define the contract for data access. They abstract the data source, allowing the application to interact with different data sources (e.g., databases, APIs) without being tightly coupled to any specific implementation. Repositories are used by Interactors to retrieve and persist data.
  • Interactors: These are concrete implementations of use cases that contain the actual business logic. They interact with repositories to perform operations and return results. Interactors are responsible for executing the use case logic and can be used in various parts of the application, such as UI components or services.
  • Interceptors: These are optional components that can be used to intercept Interactor executions for logging, error handling, or other cross-cutting concerns. They allow you to add additional behavior to the execution of use cases without modifying the use case itself.
  • Permissions: These are used to define access control for use cases. They allow you to specify which users or roles are allowed to execute certain use cases, providing a way to enforce security and access restrictions within the application.

Details #

To be described later.

1
likes
0
points
45
downloads

Publisher

verified publisheremko.dev

Weekly Downloads

/// :emko core | A Clean Architecture-inspired Dart library by :emko

Homepage

Topics

#clean #core #emko

License

unknown (license)

Dependencies

http, meta

More

Packages that depend on emkore