Asp.Net Unique Architecture Services

Asp.Net Unique Architecture Services

omid sotooni

omidsotooni

نوشتن سرویس 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

Report Page