spectre.console
spectre.console copied to clipboard
Best practice: Progress propagation from internal components
Is your feature request related to a problem? Please describe.
When developing a complex solution it is always desirable to separate interface and implementation. for example: use SpectreConsole
to build a rich interface while having the business logic in a mediator handler calling into multiple services to accomplish the job.
Describe the solution you'd like
a best practice documented with examples on how to allow back propagation of flow progress without having the SpectreConsole
dependencies inside the "core" project.
Describe alternatives you've considered
share a Channel<T>
between the interface project and the handler code to ensure single thread updates while having the option to parallelize work.
Another consideration: tap into the ILogger interface and use to write styled progress as rolling log with full markup support
Please upvote :+1: this issue if you are interested in it.