Mixing functional programming and metaprogramming into good-old object-oriented C# is not new. Still, so many programmers don't see it clearly yet: Those paradigms are not additions to an established programming model; they are genuine parts of a unified programming method, support for which is progressively being added to the C# programming language.
In this session, we will demonstrate use of latest functional additions to C# - records, tuples, deconstruction, nullable reference types, LINQ, extension methods, and a few others - which will be integrated with object-oriented and even procedural elements into a unified design which effectively solves a practical problem.
Zoran is principal consultant at Coding Helmet Consultancy, speaker and author of 100+ articles, and independent trainer, primarily on .NET technology stack. He can often be found speaking at conferences and user groups, promoting object-oriented and functional development style and clean coding practices and techniques that improve longevity of complex business applications.