شما به من بگو آیا مایکروسافت که حکم ClassDesigner رو داشته برای برنامه نویسان، از این بابت نگرانی نداشته که DataSet.Tables رو در اختیار کاربران قرار بده ؟ چون ممکنه کسی myTable رو dispose کنه در حالی که توی همون فرم بهش نیاز داره!سلام
شما به 2 تا نقش Class Creator و Class Consumer ، توجه ندارید..
Class Creator به شخصی می گویند، که کلاس یا اون شی خاص را طراحی می کند. طراحی اعم از اینکه ، آن شی چه خصوصیاتی دارد؟ چه رفتار هایی دارد؟ چه قسمت هایی از اون شی بایستی برای استفاده کننده های آن (Class Consumer) مشخص باشند، چه چیز هایی نباید مشخص باشند. مصرف کننده کلاس شما چه دسترسی هایی باید داشته باشید، چه دسترسی هایی نباید داشته باشد و بسیاری مطالب دیگر ...
Class Consumer هم به کسی می گویند که قرار است از کلاس شما استفاده کند..
در طراحی شی گرا، در هر لحظه شما باید، بدونید که در چه جایگاهی کد می نویسید، آیا Class Creator هستید؟ یا Class Consumer ؟ و یا هر دون آن ها؟ که غالبا اکثرا از نوع سوم هستند...
نمیدونم چرا شما گیر دادی که کسی dispose نکنه، اگر کسی بخواد کنترلی رو در فرم دیگه dispose کنه، مشکل اینه که هنوز مسلط به برنامه نویسی نیست، باید بره برنامه نویسی رو یاد بگیره، و گرنه هیچ کس کلاسهای داخلی یک کلاس بیرونی رو dispose نمیکنه (این یکی از نکات اصلی برنامه نویسی OOP هست)
متاسفانه من 2-3 بار این موضوع رو جواب دادم، ولی شما باز تکرار میکنید، گفتم نگرانی شما در این زمینه با برگرداندن Modifier به همون حالت private و ایجاد یک Property و استفاده از اون پراپرتی در فرمهای دیگه حل میشه.ولی اگر مصرف کننده فرم1 شما، شخصی غیر از خود شما باشد، آیا این تضمین باز هم وجود دارد که آن شخص هم به درستی از کلاس فرم1 و دسترسی هایی که به آن داید، استفاده کند؟
شما دسترسی به خاصیت یک TextBox رو با به اشتراک گذاری پسورد یک سیستم مقایسه میکنید ؟!آیا این درست است که ادمین یک شبکه، پسورد administrator را در اختیار همه کاربران سایتش قرار دهد؟
همه روزه مشاهده می کنید تاپیک هایی با عنوان اینکه "چگونه به برنامه خود قابلیت مدیریت کردن کاربران با سطح دسترسی های متفاوت را بدهم؟" در همین تالار مشاهده می کنید..
این به چه دلیل می تواند باشد؟
اینکه آبدارچی شرکت تنها نیاز خواهد داشت که بدانید در انبار چه مقدار چایی دیگر موجود است ( شاید به همین هم نیاز نداشته باشید)
منشی شرکت دلیلی ندارد بداند که سود و زیاد شرکت در ماه گذشته، سال گذشته و ... چقدر بوده؟
آیا می توانید برنامتون را بدون قابلیت سطح دسترسی به کارفرما بدین و به کار فرما بگین که با یک چوب بالای سر کاربران نرم افزار شما بایستد و اجازه ندهد که کسی به قسمت های پی که نباید برود، دسترسی پیدا کند؟