You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the architecture (description covered by the https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata) implementation of the DataRepository provides it own logging infrastructure. The presented implementation requires ILogger{t}. It limits the possibility to reuse this library in case the main application doesn't implement this particular interface. It raises a question:
if the end-user program should be adopted to use this implementation as an external apart
if the library should be adopted to meet the base library requirements.
The library requirements are defined in the document Getting Started Tutorial and this implementation doesn't follow this description. It raises typical "chicken/egg - which one was the first" problem and therefore must be recognized as a critical error.
The text was updated successfully, but these errors were encountered:
This is indeed "chicken/egg - which one was the first" problem.
It's the same case as with ServiceLocator, we have to agree on some common abstraction that becomes "a standard" even if it remains informal. I've decided upon using Microsoft.Extensions.Logging.Abstractions nuget which with 413 millions of downloads became such an informal standard in a dotnet ecosystem. The key part is Abstractions it does not contain any kind of implementaion, it's just a set of contracts the successfully exhausts usual logging needs and has aquired support from many different libraries providing implementations.
Also please notice how the ILogger argument is an optional one.
According to the architecture (description covered by the https://commsvr.gitbook.io/ooi/reactive-communication/semanticdata) implementation of the
DataRepository
provides it own logging infrastructure. The presented implementation requiresILogger{t}
. It limits the possibility to reuse this library in case the main application doesn't implement this particular interface. It raises a question:The library requirements are defined in the document Getting Started Tutorial and this implementation doesn't follow this description. It raises typical "chicken/egg - which one was the first" problem and therefore must be recognized as a critical error.
The text was updated successfully, but these errors were encountered: