PDA

View Full Version : سوال: کامپیونت چیست؟



me.enik
جمعه 22 اردیبهشت 1391, 10:13 صبح
سلام.
میدونم سوالم خیلی مبتدیانه هستش.
ولی بالاخره باید جوابم برسم دیگه!!
سوال من این هستش که اصلا کامپیونت چیه و تعریفش چیه؟

سرچ هم کردم, ولی چیز خاصی پیدا نکردم.


با تشکر فراوان.

soft-c
جمعه 22 اردیبهشت 1391, 11:01 صبح
یک توضیح خیلی ساده می دهم .
اگر در دلفی روی شی که از کلاس ساخته می شود مثلا buuton1 که از tbutton ساخته شده با کلید ctrl کلیک کنید یک سری کد در قالب کلاس و توابع و متغیرهای مختلف مشاهده می کنید . خوب شما اگر نخواهید از کامپوننت استفاده کنید باید برای انجام فعل مورد نظرتان کلی ها کد بنویسید ولی با استفاده از یک شی که از یک کلاس ساخته شده و در پشت برنامه مخفی است و با استفاده از قوانین (مانند ارث بری و ...) به راحتی کار خود را انجام دهید .در اصل این کامپوننت کلاسی از متغیرها و توابعی است که شما با استفاده از شی که از این کلاس می سازید به آنها دسترسی پیدا می کنید.

soft-c
جمعه 22 اردیبهشت 1391, 11:09 صبح
یک تعریف پیشرفته تر :

كامپوننت يك جزء نرم افزاريه كه قابليت استفاده مجدد (Reusable) داره. يكي از مهمترين اهدافشم به اشتراك گذاري كد در سطح باينريه.
روش كد نويسي مبتني بر اجزاء (Component Based) فرايند تست واحدو (Unit Test) تسهيل ميكنه، به اين معني كه شما مي تونيد هر جزء نرم افزاريتون رو مستقل از اجزاي ديگه توسعه بدين و تست كنيد و بعد با كنار هم قرار دادن اين اجزاء سيستم نهايي تون را بسازيد.
هر چي شما نرمافزارتون رو به اجزاي قابل تفكيك كوچكتري بشكونيد انعطاف برنامتون بيشتر مي شه و در نتيجه نگهداريش ساده تر مي شه.
وقتي شما مبتني بر اجزا كدنويسي مي كنيد عيب يابي نرم افزارتون با سرعت و دقت بيشتري صورت مي گيره، از طرفي براي اينكه يك قطعه رو تغيير بديد نيازي نيست كل برنامتون رو مجددا كامپايل كنيد.
شما براي اينكه بتونيد از قطعات توسعه داده شده توسط ديگران استفاده كنيد و يا اينكه كامپوننت هاي خودتونو در اختيار اونا قرا بديد لازمه كه كامپوننت هاي مزبور از استاندارهاي مشخصي پيروي كنن. COM يكي از اين استانداردها يا پروتوكل هاست، خود دات نت، فريم ورك لازم براي به اشتراك گذاري اسمبلي ها رو فراهم مي كنه، تو جاوا هم شما مي تونيد از اپلت هاي آماده استفاده كنيد.
در نهايت بايد گفت كامپوننت يك قطعه اجرايي (DLL, OCX, EXE) با استاندارد هاي مشخصه كه سرويس هايي رو در اختيار قرا ميده و ميشه از اون تو نرم افزارهاي مختلف استفاده كرد.

me.enik
جمعه 22 اردیبهشت 1391, 11:29 صبح
یک توضیح خیلی ساده می دهم .
اگر در دلفی روی شی که از کلاس ساخته می شود مثلا buuton1 که از tbutton ساخته شده با کلید ctrl کلیک کنید یک سری کد در قالب کلاس و توابع و متغیرهای مختلف مشاهده می کنید . خوب شما اگر نخواهید از کامپوننت استفاده کنید باید برای انجام فعل مورد نظرتان کلی ها کد بنویسید ولی با استفاده از یک شی که از یک کلاس ساخته شده و در پشت برنامه مخفی است و با استفاده از قوانین (مانند ارث بری و ...) به راحتی کار خود را انجام دهید .در اصل این کامپوننت کلاسی از متغیرها و توابعی است که شما با استفاده از شی که از این کلاس می سازید به آنها دسترسی پیدا می کنید.

خیلی ممنون.
حالا میشه یه کامپیونت ساده مثال بزنید؟

soft-c
جمعه 22 اردیبهشت 1391, 14:00 عصر
خیلی ممنون.
حالا میشه یه کامپیونت ساده مثال بزنید؟
مثلا کامپوننت باتن .
اگر شما این کامپوننت را روی فرم قرار دهید در قسمت کدنویسی ودر کلاس فرم این کد را مشاهده خواهید کرد :
button1:tbutton
این یعنی یک شی به نام button1 که از کلاس tbutton ساخته شده است . حالا اگر موس را روی tbutton ببرید و همزمان با کلیک موس کلید ctrl را هم نگه دارید به کدهای پشت برنامه منتقل خواهید شد و به محتویات کلاس tbuuton که در آنجا می توانید متغیرها و توابع مربوط به این کلاس را مشاهده کنید .

me.enik
جمعه 22 اردیبهشت 1391, 14:08 عصر
مثلا کامپوننت باتن .
اگر شما این کامپوننت را روی فرم قرار دهید در قسمت کدنویسی ودر کلاس فرم این کد را مشاهده خواهید کرد :
button1:tbutton
این یعنی یک شی به نام button1 که از کلاس tbutton ساخته شده است . حالا اگر موس را روی tbutton ببرید و همزمان با کلیک موس کلید ctrl را هم نگه دارید به کدهای پشت برنامه منتقل خواهید شد و به محتویات کلاس tbuuton که در آنجا می توانید متغیرها و توابع مربوط به این کلاس را مشاهده کنید .

اهااا.
یعنی پس با این حساب.
میشه گفت کامپیونت تقریبا پشت صحنه آبجت ها هستش؟
آره؟
:متفکر:

soft-c
شنبه 23 اردیبهشت 1391, 19:55 عصر
نه به این صورت .
دقیق را می خواهید کدها پشت صحنه است و با استفاده از روشهایی مانند چند لایه ای، ارث بری و ... ما به این کدها دسترسی پیدا می کنیم .

me.enik
شنبه 23 اردیبهشت 1391, 20:51 عصر
نه به این صورت .
دقیق را می خواهید کدها پشت صحنه است و با استفاده از روشهایی مانند چند لایه ای، ارث بری و ... ما به این کدها دسترسی پیدا می کنیم .

خب, بعد از اینکه دسترسی پیدا کردیم, برای چه زمینه هایی میتوانیم ازش استفاده کنیم؟

soft-c
شنبه 23 اردیبهشت 1391, 21:01 عصر
اون دیگه بر اساس نیازتون است . مثلا کامپوننت button ابزاری برای کلیک کردن و به دنبال انجام عمل مورد نظر و ... که در بلند مدت و پس از انجام پروژه های متفاوت به کاربرد کامپوننت ها پی خواهید برد .

me.enik
یک شنبه 24 اردیبهشت 1391, 15:35 عصر
اون دیگه بر اساس نیازتون است . مثلا کامپوننت button ابزاری برای کلیک کردن و به دنبال انجام عمل مورد نظر و ... که در بلند مدت و پس از انجام پروژه های متفاوت به کاربرد کامپوننت ها پی خواهید برد .

باشه.
از اینکه به سوالاتم جواب دادید, خیلی ممنون.
مرسی.

hfkh77
شنبه 30 اردیبهشت 1391, 15:17 عصر
آقای me.enik, برای تشکر کردن, دکمه ای مخصوص وجود داره.
لطفا از دادن اسپم جلوگیری کنید.