ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
وقت بخیر دوستان
من روش کد نویسیم اینجوریه که وقتی به یک شی نیاز دارم اونو موقع نیاز یه نمونه میسازم و استفاده میکنم. به نظرتون کارم درسته یا نه؟
اگه مثلا ده بار تو یک فرم یا کلاس از یه کلاس دیگه نمونه بسازم بهتره با روش خودم اینکارو بکنم یا اینکه یه بار به صورت عمومی یک نمونه از اون کلاس رو بسازم و از اون استفاده کنم؟
نقل قول: ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
مباحث DI یا تزریق وابستگی رو مطالعه کنید بهمراه وهله سازی با تاخیر یا Lazy
یعنی زمانیکه برنامه به یک وهله از شی نیاز داشت بصورت خودکار یک شی وهله سازی شده در اختیار برنامه قرار گیرد
نقل قول: ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
نقل قول:
نوشته شده توسط
ali_md110
مباحث DI یا تزریق وابستگی رو مطالعه کنید بهمراه وهله سازی با تاخیر یا Lazy
یعنی زمانیکه برنامه به یک وهله از شی نیاز داشت بصورت خودکار یک شی وهله سازی شده در اختیار برنامه قرار گیرد
خیلی کلی گفتین :لبخند:
سرچ زدم اما بیشتر گنگ شدم.
شایدم شما سوال منو متوجه نشدین. اگه نیازه یه نمونه کد بزارم
نقل قول: ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
من منظور شما رو خوب متوجه شدم به همین دلیل گفتم برو سراغ DI
Dependency injection یا DIمیگه که نیازمندیهای یک کلاس جوری بهش تحویل بدهیم که خود کلاس هم متوجه نشه
وقتی یک کلاس داریم بنام A
و توی این کلاس میخایم یک شی دیگر از کلاس B وهله سازی کنیم مینویسیم
var b= new B()
با این روش جواب میگیریم ولی کلاس A را وابسته به B کرده ایم و هرجا در کلاس A به کلاس B نیاز داشتیم باید وهله سازی کنیم
برای رهایی از این وهله سازی های متعدد از الگوی Dependency injection به همراه یک IOC مثل Autofact یا StractureMap بهره میگیریم
و نیازهای یک کلاس مثل A را در سطحی بالاتر آماده سازی میکنیم و هر زمان کلاس A نیاز به منبعی خارج از خودش داشت
IOC هوشمند متوجه خواهد شد و در اختیار او قرار خواهد داد
در ضمن مباحث الگوی سینگلتون هم مطالعه بکنید
1 ضمیمه
نقل قول: ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
ممنون .
یه نمونه هم گذاشتم کد های فرم 1 رو با فرم 2 مقایسه کنید.
نقل قول: ایجاد یک نمونه از یک کلاس به تعداد متعدد یا فقط یکی؟
پروژه شما رو دیدم
یک کلاس بنام my class دارید و از متدهاش استفاده می کنید
من باید چی رو مقایسه کنم؟
در ضمن
MainClass _MainClass = new MainClass(پارامترها);
ممکنه یک سری پارامتر ورودی در سازندش داشته باشه اونوقت باید چی کار کرد؟
---------------------------------------------------
منظورم از IOC یا واگذاری مسوولیت همینه که اگر یک کلاس سازنده داشته باشه و یک سرزی نیازمندیهای دیگه برنامه بتونه فورن بدون وهله سازی دستی اون منابع رو در اختیارش قرار بگذاره
مثال زیر یک نگاه بکنید سوالی بود بپرسید
http://www.c-sharpcorner.com/UploadF...mple-injector/