بازگشت به بلاگ معماری نرم‌افزار

معماری تمیز بدون مهندسی بیش از حد

9 مرداد 1405 2 دقیقه مطالعه 146 بازدید

هر پروژه‌ای به سه لایه و ده اینترفیس نیاز ندارد. این چارچوبی است که برای تصمیم‌گیری استفاده می‌کنم.

«معماری تمیز» به یک کلمه‌ی رمز تبدیل شده که گاهی توجیه پیچیدگی بی‌مورد است. یک اپ تک‌صفحه‌ای که یک لیست را نشان می‌دهد، به UseCase و Repository و DataSource نیاز ندارد.

سؤالی که می‌پرسم

قبل از اضافه‌کردن هر لایه: «این لایه امروز چه تغییری را ارزان‌تر می‌کند؟» اگر جواب «شاید روزی» است، لایه را اضافه نکنید. می‌توانید بعداً اضافه کنید — بازآرایی از کد ساده به کد لایه‌دار خیلی راحت‌تر از عکسش است.

چیزی که همیشه ارزشش را دارد

جداسازی منطق دامنه از فریم‌ورک. حتی در کوچک‌ترین پروژه، اگر قواعد کسب‌وکار در ویجت نوشته شوند، اولین باری که UI عوض شود آن‌ها را هم می‌شکنید.

چیزی که معمولاً ارزشش را ندارد

  • اینترفیس برای کلاسی که فقط یک پیاده‌سازی دارد و قرار نیست تست شود
  • لایه‌ی mapper بین دو مدلی که یکسان‌اند
  • تزریق وابستگی برای چیزی که هرگز عوض نمی‌شود

SOLID راهنماست، نه چک‌لیست. هدفش این است که تغییر ارزان بماند؛ اگر رعایتش تغییر را گران‌تر کرده، اشتباه اعمالش کرده‌اید.

پروژه‌ای در ذهن دارید؟

پروژه‌ای در ذهن دارید یا دنبال یک توسعه‌دهنده‌ی موبایل برای تیمتان می‌گردید؟ پیام بدهید.

همکاری با من

نوشته‌های مرتبط