SajjadKhati
کاربر فعال <A href="http://forum.majidonline.com/f
خیلی ممنون استاد
استاد ، شما استراتژیِ ساختار کلاس هایی که در پروژه هاتون مینویسید (منظورم بر اساس لایه هاست) را بر چه اساسی ترتیب میدید؟
و توصیه تون بهم برای ساخت کلاس ، چیه؟
یعنی مثلا اگه من بخوام از متد FindParentElements<T> (که در پست شماره 599 تاپیک wpf این متد را دادم) (که متدی هست که بچه های یک المنت والد را برمیگردونه) ، استفاده کنم ، بهتره در کجا بنویسیم تا در پروژه های بعدی که مورد نیازم بشه ، دوباره نیاز به کپی کردن نباشه و ازش در اونجا هم استفاده کنم؟
این مسئله اینجا مهم تر میشه که مثلا خیلی از متدهای این جوری هستن که کاربردی هستن و بعضی هاش ممکنه در بعضی پروژه های دیگه استفاده بشن (ممکنه هم بعضی هاشون در بعضی از پروژه ها استفاده نشن) .
و البته چندان ربطی به هم ندارن (یا ممکنه نداشته باشن) . مثلا یکی ، همین متد FindParentElements<T> . یکی دیگه هم مثلا متدی که لیست درایوهای یک کامپیوتر را به عنوان خروجی بده و از این دست متدهایی که ممکنه ربطی به هم نداشته باشن (و ممکنه چند ده ها از این نمونه متدها باشن و بعضی هاش در بعضی از پروژه ها استفاده بشن و کلا کاربردی هستن) .
این نوع متدها را با چه استراتژی ای و در کجا بنویسیم ، برای استفاده در عمومِ پروژه ها و حتی ویرایشِ این متدها در آینده ، بهترین مکان هست؟
قطعا ، درون خودِ همون کلاسِ Window مون بنویسیم که بدترین جاست (چون هر بار باید توی پروژه های دیگه ، کدش را کپی کنیم و اگه قرار به تغییر و ویرایش بخشی از متد شد ، باید در همه ی جاهایی که کپی کرده بودیم ، ویرایش کنیم) .
اما از طرفی هم چون این متدها ، چندان به هم ربطی ندارن ، کلاسِ شیِ گرایی هم اگه براش بسازیم ، چندان مفهوم خاصی نداره و اصولی به نظر نمیاد .
میمونه ساختِ یک کلاسِ استاتیک براشون (که انگار کلاس استاتیک ، حافظه ی بیشتری مصرف میکنه . درسته) ؟
کلا استاد نظرتون در این رابطه چیه؟ شما در پروژه هاتون با این متدها ، با چه استراتژی ای رفتار میکنید؟ توی کلاس استاتیک میذارید یا کلاس شی گرا یا کار دیگه ای میکنید؟
و اگه کلاسی برای این نوع متدها مینویسید ، اسم کلاس را چی میذارید؟ چون متدهای مختلف هستن و کارشون شبیه هم نیست ، انتخاب اسم اش آسون نیست . اسم Utility ، چطوره؟
تشکر استاد .
استاد ، شما استراتژیِ ساختار کلاس هایی که در پروژه هاتون مینویسید (منظورم بر اساس لایه هاست) را بر چه اساسی ترتیب میدید؟
و توصیه تون بهم برای ساخت کلاس ، چیه؟
یعنی مثلا اگه من بخوام از متد FindParentElements<T> (که در پست شماره 599 تاپیک wpf این متد را دادم) (که متدی هست که بچه های یک المنت والد را برمیگردونه) ، استفاده کنم ، بهتره در کجا بنویسیم تا در پروژه های بعدی که مورد نیازم بشه ، دوباره نیاز به کپی کردن نباشه و ازش در اونجا هم استفاده کنم؟
این مسئله اینجا مهم تر میشه که مثلا خیلی از متدهای این جوری هستن که کاربردی هستن و بعضی هاش ممکنه در بعضی پروژه های دیگه استفاده بشن (ممکنه هم بعضی هاشون در بعضی از پروژه ها استفاده نشن) .
و البته چندان ربطی به هم ندارن (یا ممکنه نداشته باشن) . مثلا یکی ، همین متد FindParentElements<T> . یکی دیگه هم مثلا متدی که لیست درایوهای یک کامپیوتر را به عنوان خروجی بده و از این دست متدهایی که ممکنه ربطی به هم نداشته باشن (و ممکنه چند ده ها از این نمونه متدها باشن و بعضی هاش در بعضی از پروژه ها استفاده بشن و کلا کاربردی هستن) .
این نوع متدها را با چه استراتژی ای و در کجا بنویسیم ، برای استفاده در عمومِ پروژه ها و حتی ویرایشِ این متدها در آینده ، بهترین مکان هست؟
قطعا ، درون خودِ همون کلاسِ Window مون بنویسیم که بدترین جاست (چون هر بار باید توی پروژه های دیگه ، کدش را کپی کنیم و اگه قرار به تغییر و ویرایش بخشی از متد شد ، باید در همه ی جاهایی که کپی کرده بودیم ، ویرایش کنیم) .
اما از طرفی هم چون این متدها ، چندان به هم ربطی ندارن ، کلاسِ شیِ گرایی هم اگه براش بسازیم ، چندان مفهوم خاصی نداره و اصولی به نظر نمیاد .
میمونه ساختِ یک کلاسِ استاتیک براشون (که انگار کلاس استاتیک ، حافظه ی بیشتری مصرف میکنه . درسته) ؟
کلا استاد نظرتون در این رابطه چیه؟ شما در پروژه هاتون با این متدها ، با چه استراتژی ای رفتار میکنید؟ توی کلاس استاتیک میذارید یا کلاس شی گرا یا کار دیگه ای میکنید؟
و اگه کلاسی برای این نوع متدها مینویسید ، اسم کلاس را چی میذارید؟ چون متدهای مختلف هستن و کارشون شبیه هم نیست ، انتخاب اسم اش آسون نیست . اسم Utility ، چطوره؟
تشکر استاد .