اشتراک‌ها
کتابچه‌ی طراحی سیستم

Free System Design PDF (158 pages)

Here are some sample topics:
🔹 Why is Redis fast?
🔹 How to scale a website to support millions of users?
🔹 How does HTTPs work?
🔹 What happens when you type a URL into your browser?
🔹 How to avoid double charge?
🔹 Why is Kafka fast? 

کتابچه‌ی طراحی سیستم
اشتراک‌ها
کتاب رایگان Implementing Domain Driven Design

This is a practical guide for implementing Domain Driven Design (DDD). While the implementation details are based on the ABP Framework infrastructure, the basic concepts, principles and models can be applied to any solution, even if it is not a .NET solution.  

کتاب رایگان Implementing Domain Driven Design
اشتراک‌ها
الگوهای طراحی خلاقانه – Creational Design Patterns

Factory Method

یک رابط برای ایجاد اشیا در یک ابر کلاس فراهم می‌کند ، اما به کلاسهای فرعی اجازه می‌دهد نوع اشیا ایجاد شده را تغییر دهند.

Abstract Factory

به شما اجازه می‌دهد اشیا  هم خانواده ...

الگوهای طراحی خلاقانه – Creational Design Patterns
اشتراک‌ها
الگوهای رفتاری -Behavioral Design Patterns

Chain of Responsibility

به شما امکان می‌دهد درخواست‌ها را از طریق زنجیره ای از کلاسها منتقل کنید. با دریافت یک درخواست ، هر یک از کارگزاران (کلاسها) تصمیم می‌گیرند که درخواست را پردازش کنند یا آن را به مدیر بعدی در زنجیره منتقل کنند.

Command

یک درخواست را به یک شی مستقل تبدیل می‌کند ...

الگوهای رفتاری -Behavioral Design Patterns
اشتراک‌ها
چه زمانی باید ریفکتور کنیم؟

در نوشته‌های قبلی فهمیدیم که لازم است ریفکتور(بازسازی یا اصلاح کد) داشته باشیم. و اما یک قانون:

قانون 3

  1. وقتی کاری برای بار اول انجام می‌شود، فقط انجام می‌دهیم
  2. وقتی کار مشابهی را برای بار دوم انجام می‌دهیم، یواشکی! انجام می‌دهیم
  3. اگر برای برای سوم شد حتما باید ریفکتور کنیم و کدها را اصلاح کنیم! 
چه زمانی باید ریفکتور کنیم؟