حرفه ای: پیکر بندی EF Codefirst و الگوی Unit Of Work

ساخت وبلاگ

سلام دوستان عزیز.
قبل از اینکه تاپیک رو بخونید معذرت خواهی کنم یه مقدار سوالام زیاد بود توی این قضیه واسه همین سعی کردم خیلی مرتب و تمیز بنویسم.عزیزانی که میتونن کمکم کنن نیاز نیست به همش پاسخ بدن، در حدی که توانش رو دارن پاسخ بدن ممنون میشم.(سوالات رو شماره گذاری کردم)
یه مقاله انگلیسی دارم میخونم برای پیاده سازی لایه بندی نرم افزار به صورت Best Practice
چندتا سوال برام پیش اومده که میپرسم..
در ابتدا لینک مقاله رو هم قرار میدم.
https://chsakell.com/2015/02/15/asp-...est-practices/
----------------------------------
سوالاتی که دارم مربوط به بخش: Data Access Layer and Repositories
سوال اول:
توی این کلاسی که از DbContext مشتق شده و قراره کار تبدیل کلاس هارو به جدول در دیتابیس بکنه، کلاس یک سازنده داره به صورت زیر:


public StoreEntities() : base("StoreEntities") { }

دلیل این کار چیه؟ اونطور که من متوجه شدم برای ساختن پایگاه داده به این نام این کار رو انجام میدن..آیا دلیل دیگه ای هم داره؟
-------------------------------
سوال دوم:
داخل همین کلاس بالایی که گفتم یه تابع به صورت زیر تعریف شده

public virtual void Commit()
{
base.SaveChanges();
}

قضیه این تابع چیه؟ فکر کنم مربوط به Unit Of work باشه که به نظر من تازه کار یه مقدار پیچیدس
--------------------------------
سوال سوم:
یه اینترفیس ساخته شده به نام IDbFactory


public interface IDbFactory : IDisposable
{
StoreEntities Init();
}

نقشش چیه این وسط؟
------------------------------
سوال چهارم:
دلیل ساختن کلاس Disposible چیست؟

public class Disposable : IDisposable
{
private bool isDisposed;

~Disposable()
{
Dispose(false);
}

public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (!isDisposed && disposing)
{
DisposeCore();
}

isDisposed = true;
}

// Ovveride this to dispose custom objects
protected virtual void DisposeCore()
{
}
}


فکر کنم حجم سوالام داره میره بالا..البته هنوز کلی سوال دیگه درباره Unit of work دارم که در ادامه همین تاپیک میپرسم
البته اگه مقاله خوبی درباره Unit Of Work دارین ممنون میشم معرفی کنید که بخونم
پیشاپیش تشکر.

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : محمد رضا جوادیان programers بازدید : 134 تاريخ : شنبه 2 مرداد 1395 ساعت: 9:30