معماری تمیز بدون مهندسی بیش از حد
هر پروژهای به سه لایه و ده اینترفیس نیاز ندارد. این چارچوبی است که برای تصمیمگیری استفاده میکنم.
«معماری تمیز» به یک کلمهی رمز تبدیل شده که گاهی توجیه پیچیدگی بیمورد است. یک اپ تکصفحهای که یک لیست را نشان میدهد، به UseCase و Repository و DataSource نیاز ندارد.
سؤالی که میپرسم
قبل از اضافهکردن هر لایه: «این لایه امروز چه تغییری را ارزانتر میکند؟» اگر جواب «شاید روزی» است، لایه را اضافه نکنید. میتوانید بعداً اضافه کنید — بازآرایی از کد ساده به کد لایهدار خیلی راحتتر از عکسش است.
چیزی که همیشه ارزشش را دارد
جداسازی منطق دامنه از فریمورک. حتی در کوچکترین پروژه، اگر قواعد کسبوکار در ویجت نوشته شوند، اولین باری که UI عوض شود آنها را هم میشکنید.
چیزی که معمولاً ارزشش را ندارد
- اینترفیس برای کلاسی که فقط یک پیادهسازی دارد و قرار نیست تست شود
- لایهی mapper بین دو مدلی که یکساناند
- تزریق وابستگی برای چیزی که هرگز عوض نمیشود
SOLID راهنماست، نه چکلیست. هدفش این است که تغییر ارزان بماند؛ اگر رعایتش تغییر را گرانتر کرده، اشتباه اعمالش کردهاید.
پروژهای در ذهن دارید؟
پروژهای در ذهن دارید یا دنبال یک توسعهدهندهی موبایل برای تیمتان میگردید؟ پیام بدهید.
همکاری با مننوشتههای مرتبط
معماری BLoC در عمل: چه چیزی جواب داد و چه چیزی نه
بعد از چهار سال ساختن اپهای بزرگ با BLoC، اینها الگوهایی هستند که در پروژههای واقعی دوام آوردند — و اشتباههایی که دیگر تکرارشا...
ادامهی مطلبانتشار اپ روی کافهبازار و App Store: تفاوتهایی که کسی نمیگوید
انتشار روی هر دو فروشگاه را تجربه کردهام. این فهرست چیزهایی است که کاش قبل از اولین بار میدانستم.
ادامهی مطلباز Java تا Kotlin تا Flutter: ده سال در یک مسیر
چرا در هر مرحله ابزار عوض کردم، چه چیزی از هر کدام ماند، و به کسی که امروز شروع میکند چه میگویم.
ادامهی مطلب