Hoisting wire plumbing out of your Go handlersFour of the five steps in every unary RPC handler are wire plumbing. Pin the service function signature and they fit in one generic adapter per transport.Redowan Delowar·May 2·8 min readFollowGoAPIDesign Patterns
Repositories, transactions, and unit of work in GoDecoupling business logic from storage in Go, adding transaction support without leaking SQL details, and coordinating atomic writes across multiple repositories using a unit of work.Redowan Delowar·Mar 21·13 min readFollowGoDatabaseDesign Patterns
Gateway pattern for external service callsSeparate business logic from external service calls using the Gateway pattern. Apply dependency inversion and interface segregation in Go.Redowan Delowar·Aug 3·5 min readFollowGoDistributed SystemsDesign Patterns
Writing a circuit breaker in GoBuild a production-ready circuit breaker in Go from scratch with closed, open, and half-open states to prevent cascading failures.Redowan Delowar·Oct 6·6 min readFollowNetworkingGoDesign Patterns
Notes on building event-driven systemsDeep dive into event-driven architecture patterns. Learn publish-subscribe, CQRS, outbox pattern, eventual consistency, and handling microservice coupling.Redowan Delowar·Sep 21·12 min readFollowNetworkingDistributed SystemsDesign Patterns
Strategy pattern in GoReplace inheritance with the Strategy pattern in Go using interfaces. Achieve composable, testable code without class hierarchies.Redowan Delowar·Feb 17·5 min readFollowGoTILDesign Patterns
Configuring options in GoCompare three Go option patterns: exposed structs, option constructors, and functional options. Learn when to use each for clean APIs.Redowan Delowar·Sep 5·5 min readFollowGoAPIDesign Patterns
Escaping the template pattern hellscape in PythonReplace inheritance-based template pattern with composition and Protocol types to create cleaner, testable Python code without namespace pollution.Redowan Delowar·Jul 1·15 min readFollowPythonDesign Patterns
Caching connection objects in PythonLearn efficient patterns for caching database connection objects in Python without import-time side effects or lru_cache complexity.Redowan Delowar·Mar 16·2 min readFollowPythonTILDesign Patterns
Implementing proxy pattern in PythonLearn the proxy design pattern in Python to add access control, caching, and validation layers without modifying core functionality.Redowan Delowar·Jun 16·12 min readFollowPythonDesign Patterns