Asp.Net Unique Architecture Services
omid sotooniنوشتن سرویس Service جدید در فریم ورک Asp.Net Unique Architecture
تمام بیزینس در قالب سرویس ها پیاده سازی و در لایه سرویس ایجاد می شود. لایه سرویس از لایه Service Infrastructure استفاده می کند و به هر سرویس به صورت خودکار Repository خودش وصل می شود. مزیت این روش این است که برنامه نویس درگیر دو مفهوم Repository و سرویس نشده و فقط روی سرویس خود متمرکز می شود. سرویس به صورت built in ( توکار) Repository خود را دارد و این یکی از مهمترین مشخصه های معماری فریم ورک AUA است. برای مثال اگر بخواهیم برای موجودیت Student یک سرویس بنویسیم ، ابتدا باید یک اینترفیس برای موجودیت Student ساخته شود که از کلاس IGenericEntityService ارث بری می کند
به صورت پیش فرض سرویس ایجاد شده شامل تمام توابع مورد نیاز برای کار با 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: نتیجه کوئری را به آبجکتی دیگر تبدیل می کند بر اساس کانفیگ مپینگ
برنامه نویس می تواند بیزینس خود را در سرویس ها پیاده سازی کند. یک سرویس می تواند از سرویس های دیگر استفاده کند.
به راحتی می توان سرویس ها را داخل یکی دیگر اینجکت (Inject) و استفاده نمود.
آدرس این مقاله در وبسایت هیلتن:
🔗 http://www.heilton.com/Article/AspNet-Unique-Architecture/services
کانال تلگرام گروه هیلتن😊👇
JOiN → @HeiltonProgramming