spectre.console icon indicating copy to clipboard operation
spectre.console copied to clipboard

Best practice: Progress propagation from internal components

Open EugeneKrapivin opened this issue 2 years ago • 0 comments

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.

EugeneKrapivin avatar Jan 25 '23 09:01 EugeneKrapivin