Skip to content

Commit 45f1320

Browse files
committed
fix: Fix markdown linter errors
1 parent 2a1ae99 commit 45f1320

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

content/chapter 9/creational patterns/9.1.6-builder.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,26 @@ weight: 172006
1616
### چه زمانی نباید از الگوی Builder استفاده کنیم؟
1717

1818
1. **ساخت اشیاء ساده**
19-
+ اگر شیء شما تنها چند پارامتر ساده دارد و ساخت آن راحت است، Builder پیچیدگی را زیاد می‌کند.
19+
20+
+ اگر شیء شما تنها چند پارامتر ساده دارد و ساخت آن راحت است، Builder پیچیدگی را زیاد می‌کند.
2021

2122
2. **ملاحظات عملکردی**
22-
+ در برنامه‌هایی که {{< tooltip text="کارایی" note="Performance" >}} مهم است، فراخوانی‌های اضافی و ایجاد آبجکت‌های موقت در Builder ممکن است باعث کاهش کارایی شود، به‌ویژه وقتی ساخت شیء مکرر است.
23+
24+
+ در برنامه‌هایی که {{< tooltip text="کارایی" note="Performance" >}} مهم است، فراخوانی‌های اضافی و ایجاد آبجکت‌های موقت در Builder ممکن است باعث کاهش کارایی شود، به‌ویژه وقتی ساخت شیء مکرر است.
2325

2426
3. **اشیاء immutable و ساده**
25-
+ اگر شیء ثابت و با فیلدهای نهایی است و ساخت آن ساده است، می‌توان از سازنده‌های معمولی یا factory method استفاده کرد.
27+
28+
+ اگر شیء ثابت و با فیلدهای نهایی است و ساخت آن ساده است، می‌توان از سازنده‌های معمولی یا factory method استفاده کرد.
2629

2730
4. **افزایش پیچیدگی کد**
28-
+ ایجاد یک Builder برای هر شیء پیچیده ممکن است کد را طولانی و پیچیده کند.
29-
+ اگر شیء نیاز به ساخت مرحله‌ای ندارد، Builder می‌تواند اضافه باشد.
31+
32+
+ ایجاد یک Builder برای هر شیء پیچیده ممکن است کد را طولانی و پیچیده کند.
33+
+ اگر شیء نیاز به ساخت مرحله‌ای ندارد، Builder می‌تواند اضافه باشد.
3034

3135
5. **وابستگی زیاد به محصول**
32-
+ اگر Builder و محصول خیلی به هم وابسته باشند، تغییر در محصول نیازمند تغییر در Builder است و انعطاف‌پذیری کاهش می‌یابد.
36+
37+
+ اگر Builder و محصول خیلی به هم وابسته باشند، تغییر در محصول نیازمند تغییر در Builder است و انعطاف‌پذیری کاهش می‌یابد.
38+
3339

3440
**مثال: ساخت پیکربندی پایگاه داده با Builder**
3541
وقتش رسیده که یک نمونه‌ی واقعی را ببینیم. در کدی که در ادامه می‌آید، ما یک ساختار `DBConfig` داریم که تنظیمات اتصال به پایگاه داده را نگه می‌دارد. یک **Builder** به نام `DBBuilder` ایجاد کرده‌ایم که به ما اجازه می‌دهد با استفاده از متدهای زنجیره‌ای (`SetUser`, `SetHost`, …) تنها فیلدهای مورد نیاز خود را مقداردهی کنیم و در پایان با فراخوانی `Build()` شیء نهایی را تحویل بگیریم.

0 commit comments

Comments
 (0)