C# Interfaces and default method implementations

The upcoming C# 8.0 release came up the other day, or more specifically the inclusion of default implementations on interface methods. At first glance it seems akin to madness, blurring the line between implementation and inheritance. We already have abstract classes that cater for this, so why the need? Taking a little time to dig… Continue reading C# Interfaces and default method implementations

The fragmentation of UI frameworks and structuring for the future

The highway of UI Given the fast moving space in which modern UI frameworks operate, its more important than ever to have some methods behind the madness. Adhering to some SOLID OO principles to help keep code clean, maintainable and most importantly; separated from the functions of the user interface. The most important of these… Continue reading The fragmentation of UI frameworks and structuring for the future

Critical thinking in software development

Critical thinking is a key skill when it comes to software development. Being able to diagnose a problem and find common causality can save hours of effort and frustration. However it seems to be a skill that is often overlooked and undervalued. Sometimes you hear the phrase “10x” developer thrown around. This is a developer… Continue reading Critical thinking in software development