--- title: Learn design pattern with Kirby description: Learn how to use design pattern in your project --- ###### tags: `software developement` # Learn Design Pattern with Kirby - 1 slide: https://hackmd.io/@YM0fzpcaQUe5gSGCway3_Q/SJLSR3IVt ## Reference - https://refactoring.guru/ - https://sourcemaking.com/design_patterns ## What's a design pattern A design pattern is a general repeatable solution to a commonly occurring problem in software design. ## Before we start The truth is that you can work as a programmer without knowing about a single pattern. Even in that case, you might be implementing some patterns without even knowing it. ## Why should I learn patterns - Design patterns are a toolkit of tried and tested solutions to common problems. - Even if you never encounter these problems, knowing patterns is still useful because it teaches you how to solve all sorts of problems. - Design patterns define a common language that you and your teammates can use to communicate more efficiently. ## Classification of patterns Design patterns differ by their complexity, level of detail and scale of applicability to the entire system being designed. The most basic and low-level patterns are often called **idioms**. The most universal and high-level patterns are **architectural pattern**. All patterns can be categorized by their intent, or purpose. - Creational patterns provide object creation mechanisms that increase flexibility and reuse of existing code. - Structural patterns explain how to assemble objects and classes into large structures, while keeping the structures flexible and efficient. - Behavioral patterns take care of effective communication and the assignment of responsibilities between objects. --- ### Thank you! :sheep: You can find me on - GitHub - Line