Why writing Clean Code makes us more efficient? Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs.
We will dive into why decoupling is so crucial and what design patterns, best practices, and technologies are out there to do it right and want can go wrong.
We start by reviewing the basics of Inversion of Control (IOC) and Dependency Injection (DI) and different ways of achieving decoupling on class-level, using and exploring both: Best Practices, Design and Anti Patterns.
Then we will move into Microservices, how these push decoupling to the next level and how to combine the different patterns for an extensible, supportable and maintainable code base.
This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate scenarios for DI and Microservices depending on the participating group.
This presentation is based on C#. However, the demonstrated patterns and practice can be applied to every other programming language too.
Theo has been designing and implementing .NET based applications, components, and frameworks since .NET 1.0 with a focus on scalable and maintainable solutions. Accidentally, becoming a manager in 2012, Theo has embraced the engineering manager path currently working as a Senior Director of Engineering at AppDynamics. He contributed to the success of AppDynamics, scaling from 70 employees to over 2000 and being acquired three days before the IPO for $3.7B by Cisco. Theo's expertise is understanding systems, identifying patterns and defining and implementing best practices in software, architecture, or organization.