Aspect-Orientation Update for C# 9

I previously wrote on the difficulties of Aspect-Orientation in C#. The addition of Source Generators in C# 9 changes the possibilities considerably.

January 22, 2021 · 1 min

Result-type Update for C# 9

I previously wrote on the difficulties of normalized result types in C#. Let me be clear, result types are still not great in C#, but C# 9 at least makes them practical.

January 15, 2021 · 3 min

Id Abstractions Update for C# 9

I previously wrote on the difficulties of abstracting ID types in C#. Good news, C# 9 record types greatly simplify this design decision.

January 10, 2021 · 3 min

Accessors: Services, Not Servants

I’ve been on a long journey of meshing IDesign with Clean Architecture. Managers, engines, and utilities fit nicely, but accessors seemed too substantial for an adapter and not independent enough for a true service. At last, I’ve realized the place of accessors by building off their relationship to utilities. Accessors are independent services, not servants to managers.

January 1, 2021 · 15 min

Incremental Accessors

I’ve been on a long journey of meshing IDesign with Clean Architecture. Accessors have been a conceptual sticking point.

December 25, 2020 · 2 min

Ports and Adapters

Understanding Clean Architecture has transformed my approach to architecture. Now I feel like my understanding has evolved one step further by understanding its parent pattern’s name, Ports and Adapters.

December 19, 2020 · 4 min

The Power of a Limited Toolset

It’s easy to drown in the sea of frameworks and methodologies available to programmers. Numerous authors speak out about against the constant swarming between them. However, now I have a concrete expression for both why it hurts and why fewer solutions can be better.

December 13, 2020 · 4 min

Predictability and Correlated Type Systems

I’ve recently been learning about type systems, and I realized that structural and dynamic typing often pair while nominal and static type system often pair. Why?

December 4, 2020 · 5 min

Schema and Selection

November 27, 2020 · 6 min

Meta-Programming and Type Dynamics

Dynamically typed systems effectively come with meta-programming capabilities for free, but are dynamic systems fundamentally better at meta-programming?

November 20, 2020 · 3 min