Controllers: The Other Billion Dollar Mistake
libmodulor.c100k.eu3 pointsby pmdfgy1 comments
- UseCase : a file containing the use case definition
- App : a directory with a use cases folders and metadata (i18n, metadata)
- Product : a directory with a apps folders and metadata (i18n, metadata)
- Target : depends on it by for a GUI it's the screens where use cases are injected
> I would rethink how you named the 'App' layer export interface Logger {
debug(message: LoggerMessage, ...meta: unknown[]): void;
error(err: Error): void;
info(message: LoggerMessage, ...meta: unknown[]): void;
trace(message: LoggerMessage, ...meta: unknown[]): void;
warn(message: LoggerMessage, ...meta: unknown[]): void;
}
Great job ! Emojis can actually be useful while working locally, especially to detect errors quickly.
They are boilerplate, they spread logic in multiple places and last but not least, they make testing very cumbersome.