A frontend clean architecture proposal to enforce a loosely coupled business logic. A modular design with a screaming architecture file structure has been adopted to split the application into independent bounded contexts while making the file structure scream the intent of the application without looking at implementation details.
- Pull-based vs push-based approach managing use case output or why presenters (push-based) should be preferred to returned use case values (pull-based) "since communication from Controller to Presenter is meant to go through the application "layer" then yes making the Controller do part of the Presenters job is likely a domain/application leak."
- Single responsibility principle and mixing presenter/controller (not mixing them allows better flexibility later if some other ways of displaying data (ie. presenters) should be supported (Web, CLI, JSON, ...))