<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Design Pattern on wid's blog</title><link>https://wid-blog.github.io/en/categories/design-pattern/</link><description>Recent content in Design Pattern on wid's blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 15 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://wid-blog.github.io/en/categories/design-pattern/index.xml" rel="self" type="application/rss+xml"/><item><title>Circuit Breaker</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/circuit-breaker/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/circuit-breaker/</guid><description>A Circuit Breaker&amp;rsquo;s trip trigger and recovery strategy must be designed together. Trip without recovery cuts the dependency permanently; recovery without a trip basis becomes meaningless cycling.</description></item><item><title>Rate Limiting</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/rate-limiting/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/rate-limiting/</guid><description>Before choosing a rate limit algorithm, the protection layer decides which algorithms are even available. This post lays out how L4/L7/Application layers and Token/Leaky/Sliding/Fixed algorithms intersect.</description></item><item><title>Builder</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/builder/</link><pubDate>Sun, 11 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/builder/</guid><description>Builder is the answer when three limits of constructors meet at once — many parameters, some optional, and step-wise validation. With fewer than all three, simpler tools suffice. When the language provides rich named/default parameters, the need for Builder shrinks as well.</description></item><item><title>Factory</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/factory/</link><pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/factory/</guid><description>Factory&amp;rsquo;s shared intent is separating creation from use. The three variants — Factory Method, Abstract Factory, and Static Factory Method — split creation differently and suit different conditions. Static Factory Method is the variant most often encountered in practice, and DI containers absorb part of Factory&amp;rsquo;s explicit role.</description></item><item><title>Singleton</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/singleton/</link><pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/singleton/</guid><description>Singleton is one of the simplest patterns but the canonical anti-pattern debate. The decision to bundle single-instance guarantee with global access into one pattern causes tight coupling and test difficulty. DI is the general alternative that separates the two intents.</description></item><item><title>Dependency Injection — The Hierarchy of DIP, IoC, and DI</title><link>https://wid-blog.github.io/en/posts/tech/design-pattern/dependency-injection/</link><pubDate>Thu, 25 Jan 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/design-pattern/dependency-injection/</guid><description>DIP (principle), IoC (pattern), and DI (technique) sit at different levels of abstraction. The hierarchy must be clear before framework features and design principles can be told apart.</description></item></channel></rss>