آموزش Servicesدربرنامه نویسی Asp.net MVC Core

گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
30 بار بازدید - 3 سال پیش - سرویس ها تمام بیزینس در
سرویس ها تمام بیزینس در قالب سرویس ها پیاده سازی و در الیه سرویس ایجاد می شود. الیه سرویس از الیه Infrastructure Service استفاده می کند و به هر سرویس به صورت خودکار Repository خودش وصل می شود. مزیت این روش این است که برنامه نویس درگیر دو مفهوم Repository و سرویس نشده و فقط روی سرویس خود متمرکز می شود. سرویس به صورت in built ( توکار( Repository خود را دارد و این یکی از مهمترین مشخصه های معماری فریم ورک AUA است. برای مثال اگر بخواهیم برای موجودیت Student یک سرویس بنویسیم ، ابتدا باید یک اینترفیس برای موجودیت Student ساخته شود که از کالس IGenericEntityService ارث بری می کند. بعد از اینتر فیس می توان سرویس مورد نظر را ایجاد نمود. سرویس باید از کالس GenericEntityService ارث بری کند و اینترفیس IStudentService که در گام قبل ساخته شد را پیاده سازی نماید. به صورت پیش فرض سرویس ایجاد شده شامل تمام توابع مورد نیاز برای کار با Repository می باشد. public interface IStudentService : IGenericEntityService { } public class StudentService: GenericEntityService,IStudentService { public StudentService(IUnitOfWork unitOfWork) : base(unitOfWork) { } } public async Task _Update(string keyId) { var userId = DecKeyId(keyId); var model = await _appUserService.GetAppUserVmAsync(userId); return View(model); } لیست توابع Repository که به صورت خودکار به هر سرویس اضافه می شوند. تابع توضیحات GetAll کل موجودیت ها را برگشت می دهد و قابلیت فیلتر شدن دارد. پشتیبانی ازAsync GetAllDto کل موجودیت ها را در قالب DTO برگشت می دهد و قابلیت فیلتر شدن دارد . پشتیبانی ازAsync GetCount تعداد موجودیت ها - قابلیت فیلتر شدن دارد. GetFirst اولین موجودیت را برگشت میدهد - قابلیت فیلتر شدن دارد. GetLast آخرین موجودیت را برگشت میدهد- قابلیت فیلتر شدن دارد. GetCountAsync تعداد موجودیت ها - قابلیت فیلتر شدن دارد. پشتیبانی ازAsync GetFirstAsync اولین موجودیت را برگشت میدهد- قابلیت فیلتر شدن دارد. پشتیبانی ازAsync GetLastAsync آخرین موجودیت را برگشت میدهد - قابلیت فیلتر شدن دارد. پشتیبانی ازAsync GetDtoById گرفتن موجودیت و مپ کردن در قالبDTO GetByIdAsync گرفتن موجودیت با کلید اصلی. پشتیبانی ازAsync GetDtoByIdAsync گرفتن موجودیت و مپ کردن در قالب DTO پشتیبانی ازAsync Delete حذف موجودیت ( با کلید اصلی یا Entity یاDTO( DeleteAsync حذف موجودیت ( با کلید اصلی یا Entity یا DTO (پشتیبانی ازAsync Insert درج موجودیت جدید ( با Entity یا( DTO InsertAsync درج موجودیت جدید پشتیبانی ازAsync InsertMany درج چندین موجودیت به صورت همزمان InsertManyAsync درج چندین موجودیت به صورت همزمان پشتیبانی ازAsync InsertCustomVm درج موجودیت با ویو مدل سفارشی)هنگامی که بخشی از فیلد های موجودیت از ویو ارسال می شود( InsertCustomVmAsync درج موجودیت با ویو مدل سفارشی- پشتیبانی ازAsync PartialInsert درج موجودیت در ریپوزیتوری بدون ارسال به سمت دیتابیس - پشتیبانی ازAsync Update ویرایش موجودیت جدید ( با Entity یا( DTO UpdateAsync ویرایش موجودیت جدید ( با Entity یا ( DTO پشتیبانی ازAsync UpdateCustomVm ویرایش موجودیت با ویو مدل سفارشی)هنگامی که بخشی از فیلد های موجودیت از ویو ارسال می شود( UpdateCustomVmAsync ویرایش موجودیت با ویو مدل سفارشی)هنگامی که بخشی از فیلد های موجودیت از ویو ارسال می شود( PartialUpdate درج موجودیت در ریپوزیتوری بدون ارسال به سمت دیتابیس - پشتیبانی ازAsync ConvertTo نتیجه کوئری را بر اساس کانفیگ مپینگ به آبجکتی دیگر تبدیل می کند ProjectTo نتیجه کوئری را بر اساس کانفیگ مپینگ به آبجکتی دیگر تبدیل می کند SaveChange در صورتی که از توابع Partial استفاده کنیم وضعیت نهایی را مشخص کنید. SaveChangeAsync در صورتی که از توابع Partial استفاده کنیم وضعیت نهایی را مشخص کنید. پشتیبانی ازAsync برنامه نویس می تواند بیزینس خود را در سرویس ها پیاده سازی کند. یک سرویس می تواند از سرویس های دیگر استفاده کند. به راحتی می توان سرویس ها را داخل یکی دیگر اینجکت Inject و استفاده نمود دانلود از وبسایت www.heilton.com
3 سال پیش در تاریخ 1400/09/17 منتشر شده است.
30 بـار بازدید شده
... بیشتر