نمایش نتایج 1 تا 6 از 6

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

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران عزیز
    پست
    82

    کدام روش مشتق گرفتن از کلاس بهتره؟

    سلام
    دوستان عزیز اگه ممکنه در مورد مسله زیر، یه مشورتی به من بدید.
    اگر در یک فرم ، از یک کلاس ، در ایونت های مختلف استفاده بشه ، کدوم روش بهتره: اینکه در هر رویداد یکبار از کلاس مشتق بگیریم یا اینکه به صورت سراسری یکبار از کلاس مشتق بگیریم و بعد در ایونت ها از اون استفاده کنیم؟
    مثلا کلاسی داریم به نام class1 و در رویداد های Button1_click، text1_change و Button2_Click از این کلاس استفاده میکنیم.حالا آیا بهتره در هر کدوم از این ایونتها بطور جدا گانه class1 رو new کنیم؟ یا یکبار به صورت عمومی class1 رو new کنیم و در این سه ایونت از اون استفاده کنیم؟
    دوستان اگه میشه لطف کنید و با دلیل بگین.

  2. #2
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: کدام روش مشتق گرفتن از کلاس بهتره؟

    نقل قول نوشته شده توسط NewLife2008 مشاهده تاپیک
    سلام
    دوستان عزیز اگه ممکنه در مورد مسله زیر، یه مشورتی به من بدید.
    اگر در یک فرم ، از یک کلاس ، در ایونت های مختلف استفاده بشه ، کدوم روش بهتره: اینکه در هر رویداد یکبار از کلاس مشتق بگیریم یا اینکه به صورت سراسری یکبار از کلاس مشتق بگیریم و بعد در ایونت ها از اون استفاده کنیم؟
    مثلا کلاسی داریم به نام class1 و در رویداد های Button1_click، text1_change و Button2_Click از این کلاس استفاده میکنیم.حالا آیا بهتره در هر کدوم از این ایونتها بطور جدا گانه class1 رو new کنیم؟ یا یکبار به صورت عمومی class1 رو new کنیم و در این سه ایونت از اون استفاده کنیم؟
    دوستان اگه میشه لطف کنید و با دلیل بگین.
    مشتق گرفتن یا نمونه گرفتن؟
    سوالی که میپرسید به نمونه گرفتن ربط دارد، یا اینکه سوال اصلاً یک چیزه دیگری است.
    قبل از ادامه در بحث لطفاً مشخص کنید مشتق گرفتن یا نمونه گرفتن مورد نظرتان است.

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران عزیز
    پست
    82

    نقل قول: کدام روش مشتق گرفتن از کلاس بهتره؟

    ببخشید من با اصطلاحات زیاد آشنا نیستم.
    وقتی به اینصورت عمل میکنیم ()class1 cls1=new class1 ، میشه نمونه گرفتن یا مشتق گرفتن؟
    فکرکنم همون نمونه گرفتن میشه

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: کدام روش مشتق گرفتن از کلاس بهتره؟

    نقل قول نوشته شده توسط NewLife2008 مشاهده تاپیک
    ببخشید من با اصطلاحات زیاد آشنا نیستم.
    وقتی به اینصورت عمل میکنیم ()class1 cls1=new class1 ، میشه نمونه گرفتن یا مشتق گرفتن؟
    فکرکنم همون نمونه گرفتن میشه
    بله نمونه گرفتن.
    بستگی دارد که :
    اگر کلاس ۱ ، یک عضوی از کلاس فرم باشد، همانطوری که میدونید میشه یکبار نمونه گرفت و باهاش کار کرد،
    ولی دلیل اینکار برایه اینکه مداوم نمونه نساخت و کمتر کد نوشت نیست. مثلاً در ماشین هروقت که فرمان را به چپ و یا راست میچراخانید، وجود داشتن چرخهایه جلو بهش مرتبط نیستند، بلکه یک ماشین باید ۲ تا چرخ جلو را داشته باشد.
    ولی اگر کلاس ۱، به فرم ربطی ندارد و فقط در اون ایونت برایه کاری به وجود میاد و بعد لازم نیست، در هر ایونت بوجود آوردنش درست است.
    حالت اول در مورد ساختاری است، و کلاس ۱ به عنوان قسمتی از فرم به نظر میاد (مثل چرخهایه ماشین).
    حالت دوم حالت رفتاری است، و کلاس ۱ مانند یک کلاس کمک کنند استفاده میشه، (مانند یک کسی که شیشه ماشین را پاک میکنه بعدش غیبش میزنه).
    اگرچه از لحاض خارجی نمیشه تفاوتی در عملکرد هر دو روش در زمان اجرا دید ولی از لحاض فلسفه کاری و بیان رابطه بین کلاس۱ و فرم در کد تفاوت دارند.
    برایه روشهایه دیگر به Dependency Injection (DI) و Inversion of Control
    (IoC) نگاه بندازید.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران عزیز
    پست
    82

    نقل قول: کدام روش مشتق گرفتن از کلاس بهتره؟

    حالت اول در مورد ساختاری است، و کلاس ۱ به عنوان قسمتی از فرم به نظر میاد (مثل چرخهایه ماشین).
    حالت دوم حالت رفتاری است، و کلاس ۱ مانند یک کلاس کمک کنند استفاده میشه، (مانند یک کسی که شیشه ماشین را پاک میکنه بعدش غیبش میزنه).
    از شرح کاملتون ممنونم.
    فقط یه سوال.آیا منظورتون از حالت ساختاری اینه که کلاس 1 تمام کدها و اعمال مربوط به فرم 1 رو در خودش داره؟ و در مورد حالت رفتاری منظور اینه که ممکنه در فرم1 در یه ایونت نیاز به کلاس2 داشته باشیم ؟

  6. #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: کدام روش مشتق گرفتن از کلاس بهتره؟

    نقل قول نوشته شده توسط NewLife2008 مشاهده تاپیک
    از شرح کاملتون ممنونم.
    فقط یه سوال.آیا منظورتون از حالت ساختاری اینه که کلاس 1 تمام کدها و اعمال مربوط به فرم 1 رو در خودش داره؟
    خیر، شاید باید میگفتم حالت ترکیبی (از لحاظ ساخته شدن)، مثلاً چرخهایه ماشین با شاسی و موتور و دنده و ... همه ترکیب شدن و ماشین را ساختن (ماشین از ترکیب شدن همه اون قطعات بوجود اومده).
    در فرم ، وقتی که ۱ باتن قرار میدید، در حقیقت دارید یک فرم دلخاهتان را با ترکیب کردن کنترلهایه مختلف بوجود میارید (composition).

    کلاس ۱ فقط کدها و اعمال مربوط به خودش را دارد ولی جزو فرم ۱ قرار گرفته (یک قطعه‌ای از فرم ۱ هستش).

    نقل قول نوشته شده توسط NewLife2008 مشاهده تاپیک
    و در مورد حالت رفتاری منظور اینه که ممکنه در فرم1 در یه ایونت نیاز به کلاس2 داشته باشیم ؟
    شاید نباید بهش حالت رفتاری میگفتم ، به نظرم بیشتر گمراه کننده میاد تا توجیح کننده.
    کلاسهایه کمک کننده، Helper Classes ، که جزوی از کلاس نیستند، مثلاً یک مکانیک را ما جزو ماشین نمیدانیم، ولی وقتی که ماشین به سرویس میره :
    Car.Service ، یک نمونه از مکانیک ساخته میشه و بررویه ماشین اعمالی انجام میده.

    فقط در داخل اون ایونت استفاده از یک نمونه از اون کلاس بکار میاد و در خارج از اون ایونت داشتن یک نمونه از اون کلاس ۱ مفهومی ندارد.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •