یادداشت مهندسی / 01
توسعه با ASP.NET Core
در توسعهٔ برنامههای C# و ASP.NET Core، مسئولیت کنترلر، سرویس، مدل داده و لایهٔ ذخیرهسازی را روشن نگه میدارم. TaskFlow نمونهای عملی از این رویکرد است.
در این یادداشت 05 پرسش
ASP.NET Core MVC چه مسئلهای را حل میکند؟
الگوی MVC دریافت درخواست، دادهٔ برنامه و نمایش را از هم جدا میکند. در TaskFlow کنترلر درخواست را دریافت میکند، ViewModel دادهٔ فرم را شکل میدهد و قواعد پروژه و وظیفه در لایهٔ سرویس قرار میگیرند.
چرا تزریق وابستگی مهم است؟
کنترلر به قرارداد یک سرویس وابسته میشود، نه به ساخت مستقیم آن. در نتیجه، مسئولیتها واضحتر میشوند و آزمودن منطق برنامه آسانتر است.
Entity Framework Core کجا قرار میگیرد؟
این ابزار مدل ذخیرهسازی داده را مدیریت میکند. TaskFlow از SQLite و رابطهٔ یکبهچند میان پروژه و وظیفه استفاده میکند؛ حذف پروژه نیز وظایف وابسته را حذف میکند.
اعتبارسنجی باید در کدام لایه انجام شود؟
ورودی نامعتبر باید هنگام ورود درخواست یا ارسال فرم رد شود. قواعد کسبوکار در لایهٔ برنامه قرار میگیرند تا میان چند مسیر یا رابط قابل استفاده باشند.
چه چیزی یک API را قابل نگهداری میکند؟
مسیرهای یکدست، قراردادهای روشن، سرویسهای متمرکز، خطاهای قابل پیشبینی و آزمون رفتارهای مهم، تغییر دادن API را در طول زمان آسانتر میکنند.