Designing for Long-Term Development | Implementing Clean Architecture
Resources and slides from Florin Coros’ sessions at .NET Developer Days 2025 Warsaw — Designing a Distributed System for Long-Term Development, Implementing Clean Architecture
Thank you for joining my sessions at .NET Developer Days 2025 – Warsaw
🎯 Designing a Distributed System for Long-Term Development
🏗️ Implementing Clean Architecture
and the Post-Conference (2-Day Workshop)
🚀 Application Infrastructure in .NET for Clean Architecture
It was a great opportunity to connect with so many dedicated developers and architects, share lessons learned from real-world distributed systems in the energy sector, and explore practical ways to design code structures that truly enforce Clean Architecture principles.
Below you’ll find all the resources, slides, and source code mentioned during my talks and workshop.
Feel free to reach out anytime if you’d like to discuss implementation details or need guidance in applying these patterns to your own systems.
Day 1
Designing a Distributed System for Long-Term Development
-> Slides: Download
Day 2
Implementing Clean Architecture
-> Slides: Download
Missed the Workshop? Here’s Your Chance
These sessions are meant to inspire and share ideas on how to design for long-term development — and to highlight the importance of investing in an infrastructure that supports your architecture.
The Post-Con Workshop Application Infrastructure in .NET for Clean Architecture dives deeper into the how: it teaches practical ways to build such infrastructure in .NET, passing on proven practices and tools that help you get started fast and accelerate your progress.
If you missed the workshop, you can still catch the online version, available this November — now on sale:
👉 https://clean-architecture.net
Resources
-
→ Demo Source Code – available on GitHub:
- Repository: onCodeDesign/AppInfra-Training
- Includes the AppBoot library implementing Type Discovery, Dynamic Plugin Load, and supporting the Generic Host with strict Assembly Referencing Rules for .NET 10
- Contains DataAccess implementations with the Repository and UnitOfWork patterns for .NET 10
-
→ iQuarc.AppBoot – reusable library for .NET Framework 4.8 implementing Type Discovery, Generic Host, and strict Assembly Referencing Rules
- GitHub: iQuarc.AppBoot
- GitHub: iQuarc.AppBoot
-
→ iQuarc.DataAccess – reusable library implementing Repository and UnitOfWork patterns for .NET Framework 4.8
- GitHub: iQuarc.DataAccess
- GitHub: iQuarc.DataAccess
Drawing from our extensive project experience, we develop training programs that enhance predictability and reduce the cost of change in software projects.
We focus on building the habits that make developers adopt the industry best practices resulting in a flexible code design.
Services
Our Software Architecture and Project Design services combined, help organisations transition from staff augmentation, where they sell hours, to becoming solution providers, where they deliver project milestones.
Software Architecture
We support key architectural decisions, from System Decomposition to Detailed Technical Design.
Our work involves identifying critical system behaviors, core technical requirements, and providing tailored solutions.
We assume the responsibilities and decisions of the architect role, acting as the design lead, technology lead, and process lead.
Project Design
We apply an effective engineering method to create an actionable project execution plan.
The plan outlines the schedule of activities, allocates resources, and makes strategic trade-offs to meet project goals within constraints, balancing schedule, cost, and risk.
The process provides charts and tools to track progress and adapt the plan during execution.
Coaching and Mentoring
We help architects, managers, and developers build the skills needed to achieve their goals with ongoing support.
We are available to your team while they work, providing access to our extensive project experience. We engage directly with the project, becoming familiar with its specific requirements and constraints.
Our goal is to build skills within your team, enabling them to achieve their goals independently rather than relying on us.
We lead in design, technology, and process, empowering projects and organizations to achieve their goals. We collaborate closely with client architects, product managers, and project managers, providing coaching and mentorship to help them succeed.
About
Code Design focuses exclusively on the design phase of software development, striving to restore a strong emphasis on robust software design within the industry. Our goal is to enable our customers to achieve predictability in software development projects.
Over the past decade, Florin has led the design and implementation of complex software systems across industries such as Energy, Finance, Healthcare, Business Productivity Tools, and Insurance. These projects involved distributed systems built for long-term, incremental development, overcoming common challenges to ensure success: on time, within budget, and on quality.
Florin’s experience often includes coaching and training the developers implementing his designs, further enriching the training materials he provides.
At Code Design, Florin collaborates with a team of like-minded professionals and experts, many of whom he has previously worked with, to deliver comprehensive, high-level services in software development.