nice video. my feedback is to zoom in on the code part during the video. for me I don't really care about solution explorer tab but I care more about the code editor (or really wherever the code being written to help see it clearly to understand it, so on)
@knkootbaoat6759 thx for the feedback! Do you mean the font size is still too small? Or is it more about removing "unnecessary details" from the screen while coding?
@ibot0281 as usual: it depends - mostly on how strict u want to follow the Dependency Rule. Me personally I would avoid coupling my application logic to some external library whenever possible. so i would probably push this external library to frameworks layer and then use Dependency Inversion and adapter pattern to integrate it with my application logic.
Thanks for the content! I have a theoric doubt: in the design using the Adapter pattern, the ModuleB is pertain to Interface Adapter Layer or Infrastructure Layer? I mean, did it become like an external lib for my application?
Dependency inversion can be applied everywhere. If you refer to clean architecture then dependency inversion is applied on all layers to ensure dependencies only inwards.
@Muaddibkhan in this context "interface" rather refers to the "abstract API surface" of components than to programming language interfaces like in C#. One classic example of adapter pattern is actually the controller in a web api which bridges between the "interface" of the web UI and "interface" of the business logic, both operating on different data structures, see also: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-iD4wns3yH44.html
I like to think about exceptions like this: “Exceptions are only to communicate with developers(or more generally maintainers of the application) NOT users” Do you think that’s a good rule?
I see exceptions more for unexpected errors that we can't possible can recover from like hardware failures that prevent the application from functioning. All errors that we can possibly recover from by retrying or letting the user decide are better treated like part of the result and communicated in the function signature.
Broken windows theory is not only wrong, but has fueled decades of overpolicing in minority communities. Tired of seeing this tragically incorrect assumption applied to computer science...
Regardless if you like or dislike MediatR, I just can't imagine creating a whole new interface and maintaining it just so I don't have a dependency on some library. Too much work for no benefit.