if-else-switch
Analyzes the problems with if/else/switch statements in code and proposes a polymorphic factory object solution for better architecture.
Analyzes the problems with if/else/switch statements in code and proposes a polymorphic factory object solution for better architecture.
Explains the Facade design pattern in JavaScript, focusing on managing dependencies and simplifying complex APIs for better code maintainability.
Analyzes the relevance of the visitor design pattern in modern programming, comparing it to alternatives like dynamic_cast and discussing its core use case.
Explains the Composite design pattern using the ngrev Angular visualization tool as a practical example from open-source software.
Explores the State design pattern using the real-world example of ngrev, an open-source tool for reverse engineering Angular applications.
An explanation of the MVC (Model-View-Controller) architectural pattern, covering its components and their roles in web application development.
Opinionated guide on avoiding traditional class-based OOP patterns in TypeScript in favor of simpler module-based approaches.
Explains SOLID design principles to write maintainable OOP code and avoid common anti-patterns (STUPID code) that harm software quality.
A defense of the SOLID principles in modern software development, arguing they remain essential for writing simple, maintainable code.
Discusses the importance of context and team factors over hype when choosing software architectures and tools.
A software engineer shares four techniques to improve skills beyond learning new frameworks, focusing on problem-solving and impact.
Explains the Emitter Parameter Pattern as an alternative to return values for designing flexible Service Provider Interfaces (SPIs) in libraries and frameworks.
Introduces the Emitter Parameter Pattern as a flexible alternative to return values for Service Provider Interfaces (SPIs) in libraries and frameworks.
Explores parallels between software development and architecture/urban planning, suggesting new methodologies and ideas for tackling programming complexity.
Explores key serverless design patterns, contrasting traditional best practices with modern event-driven, stateless, and microservice approaches.
Part 2 of a series on AWS serverless architecture mistakes, covering design principles like single-purpose functions and designing for failure.
A tutorial on implementing the generic, thread-safe object pool design pattern in Swift for performance optimization.
Explores Effective Java items 3-5 on controlling object instantiation, covering utility classes, singletons, and dependency injection.
Explains the Cache-Aside Pattern for performance optimization and demonstrates its implementation in .NET Core using IMemoryCache.
Analyzes the Builder pattern in Java, discussing its benefits, potential overuse, and alternatives for simplifying class design.