نمایش نتایج 1 تا 6 از 6

نام تاپیک: نمونه سازی در صورت عدم وجود نمونه

  1. #1

    نمونه سازی در صورت عدم وجود نمونه

    به نظر شما گذاشتن کدی مثل کد زیر جاهایی که میخواین نمونه سازی کنیم و در تمام قسمتهای کلاس ازش استفاده کنیم چطوره؟

    private CityRepository _cityRepo ;

    protected override CityRepository RepositoryObject
    {
    get { return _cityRepo ?? (_cityRepo = new CityRepository ()); }
    }


    اول کلاس اینو بنویسیم و همه جا به جای cityRepo از RepositoryObject استفاده کنیم.
    برای برنامه احیانا مشکلی ایجاد نمی کنه؟ آیا اصلا این کار خوبه یا اینکه فرقی با نمونه سازی عادی نداره؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: نمونه سازی در صورت عدم وجود نمونه

    Lazy Loading اگه درست استفاده بشه میتونه مفید باشه.ولی کلی نمیشه در موردش نظر داد و بسته به شرایط استفاده داره.معمولا در ORM ها استفاده میشه...

  3. #3

    نقل قول: نمونه سازی در صورت عدم وجود نمونه

    نقل قول نوشته شده توسط plus مشاهده تاپیک
    Lazy Loading اگه درست استفاده بشه میتونه مفید باشه.ولی کلی نمیشه در موردش نظر داد و بسته به شرایط استفاده داره.
    ممنون که وقت گذاشتید....
    لطف می کنید یه مقدار در موردش توضیح بدید؟

  4. #4

    نقل قول: نمونه سازی در صورت عدم وجود نمونه

    نقل قول نوشته شده توسط resident مشاهده تاپیک
    به نظر شما گذاشتن کدی مثل کد زیر جاهایی که میخواین نمونه سازی کنیم و در تمام قسمتهای کلاس ازش استفاده کنیم چطوره؟
    سلام.
    من دقیقا نمیدونم هدفتون چیه، Lazy Loading یا داشتن کلاسی Singleton. یعنی آیا شما مایلید

    1. Object مورد نظر آخرین لحظه که بهش نیاز هستش Load بشه؟ یا
    2. همواره فقط یک Instance از کلاس مورد نظرتون ایجاد بشه و به استفاده کننده برگرده؟

    پاسخ شما هر یک از دو مورد فوق باشه، کدی که نوشته اید چندان کارا نیست. چون معلوم نیست آیا قراره این کد Thread Safe باشه یا خیر و سوالات متنوع دیگه...
    بنابراین لطفا ابتدا به سوالم پاسخ بدید تا بیشتر در این مورد صحبت کنیم.


    موفق باشید.

  5. #5

    نقل قول: نمونه سازی در صورت عدم وجود نمونه

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    من دقیقا نمیدونم هدفتون چیه، Lazy Loading یا داشتن کلاسی Singleton. یعنی آیا شما مایلید

    Object مورد نظر آخرین لحظه که بهش نیاز هستش Load بشه؟ یا
    همواره فقط یک Instance از کلاس مورد نظرتون ایجاد بشه و به استفاده کننده برگرده؟


    پاسخ شما هر یک از دو مورد فوق باشه، کدی که نوشته اید چندان کارا نیست. چون معلوم نیست آیا قراره این کد Thread Safe باشه یا خیر و سوالات متنوع دیگه...
    بنابراین لطفا ابتدا به سوالم پاسخ بدید تا بیشتر در این مورد صحبت کنیم.

    موفق باشید.
    هیچ یک از مواردی که شما فرمودید دلیل انجام این کار نبود.
    من تو Repository یه کلاس به نام BaseRepository دارم که بقیه کلاسها از اون ارث بری می کنند. شبیه زیر:


    public abstract class BaseRepository
    {
    protected int userID;

    protected abstract BaseBusiness BusinessObject{get;}

    //Get userID

    public void Insert(BaseEntity entity)
    {
    BusinessObject.Insert(entity, userID);
    }

    public void Update(BaseEntity entity)
    {
    BusinessObject.Update(entity, userID);

    }

    .

    .

    .

    {
    public class ProvinceRepository : BaseRepository
    {
    private ProvinceBusiness _provinceBo;

    protected override BaseBusiness BusinessObject
    {
    get { return _provinceBo ?? (_provinceBo = new ProvinceBusiness()); }
    }

    public List<Province> SelectAll(string SelectedColumns = "ProvinceID,Province_Title", string condition = "", string orderBy = "Province_Title", SortOrder sortorder = SortOrder.Assending)
    {
    return BusinessObject.GetSelectQuery(SelectedColumns, condition, orderBy, sortorder, userID).Cast<Province>().ToList();
    }


    public List<Province> SelectPaging( string condition, string orderBy, SortOrder sortorder, int pageNumberDesired, int rowCountOnPage, out int pageCount)
    {
    string SelectedColumns="[ProvinceID],[Province_Title],[Province_ConcurrencyVersion]";
    return BusinessObject.GetPagingQuery(SelectedColumns, condition, orderBy, sortorder, pageNumberDesired, rowCountOnPage, out pageCount, userID).Cast<Province>().ToList();
    }
    .
    .
    .
    }


    BaseBusiness در کلاس BaseRepository، کلاس Parent در لایه Business است. در کلاسهای ارث بری کرده از BaseRepository هم اومدم و نمونه ساختم و....
    برای این که بتونم این قسمت رو پیاده سازی کنم مجبور شدم به این طریق کدنویسی کنم.
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 16 مرداد 1394 در 01:15 صبح

  6. #6

    نقل قول: نمونه سازی در صورت عدم وجود نمونه

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    من دقیقا نمیدونم هدفتون چیه، Lazy Loading یا داشتن کلاسی Singleton. یعنی آیا شما مایلید


    1. Object مورد نظر آخرین لحظه که بهش نیاز هستش Load بشه؟ یا
    2. همواره فقط یک Instance از کلاس مورد نظرتون ایجاد بشه و به استفاده کننده برگرده؟


    پاسخ شما هر یک از دو مورد فوق باشه، کدی که نوشته اید چندان کارا نیست. چون معلوم نیست آیا قراره این کد Thread Safe باشه یا خیر و سوالات متنوع دیگه...
    بنابراین لطفا ابتدا به سوالم پاسخ بدید تا بیشتر در این مورد صحبت کنیم.


    موفق باشید.
    یکی از دلایلم هم 2امین موردیه که شما فرمودید............

تاپیک های مشابه

  1. سوال: مکانیزم MVC در صورت عدم وجود viewState
    نوشته شده توسط rahimi.mohamad24 در بخش ASP.NET MVC
    پاسخ: 1
    آخرین پست: شنبه 22 بهمن 1390, 11:10 صبح
  2. سوال: redirect در صورت عدم وجود صفحه
    نوشته شده توسط omid68 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 22 آذر 1389, 11:11 صبح
  3. سوال: ری استور کردن Diffrential BackUp در صورت عدم وجود Full Backup
    نوشته شده توسط MajerajooyeKhallagh در بخش SQL Server
    پاسخ: 2
    آخرین پست: پنج شنبه 11 مهر 1387, 15:33 عصر
  4. ایجاد Object یا Panel در زمان اجرا در صورت عدم وجود
    نوشته شده توسط FirstLine در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: چهارشنبه 06 تیر 1386, 13:03 عصر
  5. New در صورت عدم وجود شیئ در حال حاضر
    نوشته شده توسط پیمان 1 در بخش VB.NET
    پاسخ: 3
    آخرین پست: شنبه 10 دی 1384, 16:06 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •