42 lines
2.1 KiB
Plaintext
42 lines
2.1 KiB
Plaintext
Domain-driven design (DDD):
|
|
|
|
یک مفهوم است که در اون برنامه رو طوری طراحی میکنیم که حالت فیزیکی و واقعی فروشگاه یا بانک یا هر برنامه دیگر داشته باشد
|
|
|
|
|
|
|
|
SOLID:
|
|
|
|
Single Responsibility Principle (srp):
|
|
کلاس یا متد ها وظیفه یکتا دارند و فقط باید وظیفه خودشون رو انجام بدن و عملیات هایی که مربوط به این وظیفه و اکشن نیستند نباید در اونها اعمال بشه
|
|
|
|
Open-Close Principle (ocp) :
|
|
کلاس ها و سرویس ها باید باز برای توسعه و بسته برای تغییر باشند
|
|
|
|
Liskov Substitiution Principle (lsp) :
|
|
برای مثلا اگر کلاس آی از کلاس بی ارث بری کرده هرجایی که کلاس بی رفرنس داده شده باید بدون مشکل بتونه کلاس آی رفرنس داده بشه
|
|
|
|
Interface Segregation Principle (isp):
|
|
گشایش و توضیع اینترفیس ها به قطعات کوچک تر برای استفاده بهتر
|
|
|
|
Dependency Inversin Principle (dip):
|
|
عدم ایجاد وابستگی در ماژول های سطح بالا به ماژول های سطح پایین و برای مثلا ایجاد یک interface میان اون ها
|
|
|
|
مثلا اگر میخوام در ماژول سطح بالا یک پیام ارسال کنیم
|
|
بجای استفاده مستقیم از EmailSender
|
|
از MessageSender
|
|
|
|
استفاده میکنیم که برای ارسال sms و بقیه سرویس های استفاده بشه
|
|
|
|
Clean Architecture :
|
|
یک سبک معماری نرم افزار هست که در اون نرم افزار طوری طراحی میشه که در آن کاهش وابستگی بین لای های بیرونی و درونی شکل میگیرد
|
|
|
|
TDD Test-driven design:
|
|
تست محور بودن برنامه ابتدا تست رو مینویسیم بعد با کد اون تست رو تکمیل میکنیم
|
|
|
|
Clean Code :
|
|
خوانا بودن کد DRY - Don't Repeat Yourself تکراری نبودن کد
|
|
و خلاصه بدون پیچیدگی و کامنت ها
|
|
|
|
|
|
|