Functional Classes
Explores the true definition of a 'class' in programming, critiquing Java/C# overreach and distinguishing classes from namespaces.
Explores the true definition of a 'class' in programming, critiquing Java/C# overreach and distinguishing classes from namespaces.
Explains software cohesion as a metric for refactoring, with a C# example showing how to split a low-cohesion class.
A guide to building a simple Dependency Injection container in .NET, explaining IoC and DI concepts with code examples.
Explains the key differences between abstraction and encapsulation, two fundamental object-oriented programming concepts.
Explores architect Christopher Alexander's design philosophy and its profound, often misunderstood, application to software development and programming patterns.
A developer envisions a perfect digital note-taking app with infinite grids, multi-format objects, and seamless input/export, hoping to inspire its creation.
Explores the pitfalls of using public const in C#, explaining compile-time replacement and versioning issues, and suggests using static readonly instead.
An analysis of current challenges and future trends in micro-frontends architecture, covering client, server, and edge implementations.
Explores why successful tech products often prioritize familiar user experiences over unique, novel features, using examples like Astro and Supabase.
Explains the software design principle of programming to an interface vs. implementation, using a TypeScript list renderer example to show benefits for maintainable code.
Explains the Dependency Inversion Principle (DIP) from SOLID, showing how to implement it in JavaScript/TypeScript to decouple high-level and low-level modules.
A developer argues for using 'protected' over 'private' visibility for class properties in PHP, discussing flexibility and use-case considerations.
A software engineer draws parallels between the perfect, durable design of an IKEA clock and the principles of good software design.
Explains how to use dependency injection with default parameters in JavaScript to create more flexible and robust functions.
A guide to writing unit tests for SwiftUI apps by decoupling layout from logic, enabling testable code without relying solely on UI previews.
Explores the benefits of an event-driven architecture over linear code when building a gamification system for a tech platform.
Argues that Java's pattern switches are a simpler, more modern alternative to the traditional Visitor design pattern for separating operations from object structures.
Argues for opinionated software design over excessive configurability, based on experience with an in-house framework.
Explains the concept of business logic in software development, using examples like a BMI calculator to distinguish it from other code.
Explores the complex decision-making process behind adding new features to the Java programming language, addressing common developer requests.