The Projects

Project TeleScope
TeleScope is an open source project that contains several assemblies to help you building your software with a clean architecture approach. The assemblies contain often used functionalities like reading and writing files types e.g. CSV or JSON or access to an external infrastructure via MQTT or HTTP. You can easily exend the functions of the provided assemblies by using their interfaces and abstractions.

The binaries are developed with .NET Standard so that every kind of .NET related project can use them. You can integrate the assemblies as NuGet packages, for more information please take a look into the NuGet Gallery. If you want to look into the source code itself, you will find the project on GitHub.
Clean Architecture

The implementation of clean architecture follows the ideals of Uncle Bob and Jason Taylor - so thank you both!

To give you a brief overview how it works, please look at the flow chart below. Each layer represents one or more assemblies in your app. To be clear each box carries the word layer. :grin:

graph RL A[presentation layer] --> B[infrastructure layer] B --> C[application layer] C --> D[entity layer]
graph TB A[presentation layer] --> B[infrastructure layer] B --> C[application layer] C --> D[entity layer]

Now I will state out some principles for each layer. Please note that this list has not the intention to be complete. So you might consider to check further literature or contact me in case of emergency.

Conclusion

Now, if you like this way of organizing your software architecture, please take a deeper look into the videos or blog posts of Jason Taylor, because he explains that stuff with lots more details. And if you like to test some ready-to-go assemblies that follow these principles, please download the TeleScope assemblies and use them according to your requirements.


Have a nice day!