PDA

View Full Version : سوال: مزایا و معایب ایجاد کلاس مشترک از نوع Static



mmbguide
چهارشنبه 27 بهمن 1400, 22:49 عصر
سلام به دوستان

من یک برنامه ساختم که تعداد فرم های بسیار زیادی داره. در واقع برنامه از ماژول های مختلفی تشکیل شده که هر ماژول حدود 20 تا فرم برای خودش داره. اگر بخوام هر ماژول رو بصورت Class Library ایجاد کنم باید این امکان وجود داشته باشه که همه ماژول ها (ممکنه 10 تا Class Library بشه) به اطلاعات مشترک دسترسی داشته باشند. من یک پروژه از نوع Class Laibrary ایجاد کردم که داخل اون کلاس های مخلف از نوع Static که memberهای اون هم public static هستند وجود داره (shared class). این متغیر ها توسط برنامه اصلی (پروژه اصلی) مقدار دهی میشن و ماژول هایی هم که در پروژه های جداگانه ایجاد شده اند پروژه class library رو که اعضای static داره رو در Reference اضافه کردم. عملا با این کار برنامه من قطعه قطعه شده و همه اونها به اعضای کلاس متغیرهای مشترک دسترسی دارن.

می خواستم بدونم این روش چه مزایا و معایبی داره و آیا روش بهتری هم وجود داره؟

تشکر

mmbguide
پنج شنبه 28 بهمن 1400, 09:47 صبح
جستجو کردم و متوجه شدم Singleton Pattern راه مناسب انجام این کار هستش.

https://www.c-sharpcorner.com/UploadFile/akkiraju/singleton-vs-static-classes/

http://net-informations.com/faq/netfaq/singlestatic.htm#:~:text=A%20singleton%20allows%20 a%20class,the%20lifetime%20of%20an%20application.&text=While%20a%20static%20class%20allows,other%20c lasses%20and%20allow%20inheritance.

https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff650316(v=pandp.10)

Mahmoud.Afrad
یک شنبه 01 اسفند 1400, 03:44 صبح
سینگلتون یه الگو هست، مثلا اگر فرم اصلی فقط یکی ازش باید باشه میشه سینگلتونش گرد اما این ربطی به معماری و ارتباط فرم های دیگه نداره.

شما باید معماری خاصی رو که مناسب هست انتخاب و پیاده سازی کنید مثلا شما نگاهی به plugin architecture بندازید.