• 1397/10/10

unit of work :

سلام

تو اینترنت یه همچین کدی پیدا کردم برای  کلاس UOW (داخل لایه UI) که لازم نباشه هر ریپوزیتوری رو تعریف کنیم و یه جورایی خود UOW هم جنریک میشه

 

 public Repository<T> Repository<T>() where T : class
        {
            if (repositories.Keys.Contains(typeof(T)) == true)
            {
                return repositories[typeof(T)] as Repository<T>;
            }
            Repository<T> repo = new Repository<T>(Context);
            repositories.Add(typeof(T), repo);
            return repo;
        }

فقط نمیدونم تو لایه سرویس (لایه بین UI و DAL) چجوری فراخونیش بکنم

(چون تعداد تیبل ها و فرم ها خیل خیلی زیاده میخوام حداقل کدنویسی رو داشته باشم واسه همین هم دنبال کد بالا رفتم)

لطفا راهنمایی کنید

  • 1397/10/10
  • ساعت 16:19

سلام 

میتونید inject کنید 

بستگی به الگوتون داره ولی معمولا از di استفاده میکنیم یا در bl نمونه سازی میکنیم 

الگو تعیین میکنه


  • 1397/10/10
  • ساعت 16:38

منظور از di و bl چیه؟

اگر bl همون لایه منطق هست، برای هر فرمم یک لایه منطق بسازم و توشون اینجکت کنم؟ راهی داره کلا یک لایه منطق بسازم و تو همه فرم ها همون لایه منطق رو صدا کنم و حتی کد لامبدا رو پشت فرم بزنم به منطق پاس بدم؟


  • 1397/10/10
  • ساعت 16:44

dependency injection 

Business logic

 


  • 1397/10/10
  • ساعت 16:45

برای هر فرمم یک کلاس تو لایه منطق بسازم و توشون اینجکت کنم؟

یا کلا یک کلاس تو لایه منطق بسازم و تو همه فرم ها همون لایه منطق رو صدا کنم

و حتی کد لامبدا رو پشت فرم بزنم به منطق پاس بدم؟


  • 1397/10/10
  • ساعت 16:47

با این توضیحات مشخصه شما اطلاعاتی راجع به DI ندارید و یا خیلی کمه 

بهتره قبل از استفاده راجع بهش DI و DIP تحقیق کنید 

این خودش واسط بین لایه ها است 


logo-samandehi