# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ >  کامپوننت چیست؟

## karimi.ali

کامپوننت چیست؟ از کجا باید آورد؟ کجا می فروشن؟

----------


## keivan mousavi

کامپوننت در ویژوآل استادیو ابزاری است که به کمک آن میتوان ظاهر برنامه رو زیبا کرد که معمولاً با زبان WPF نوشته میشود 
محل فروشش اگر در تهران هستی بازار رضا مغازه پاگچین

----------


## Parham.D

البته فقط زیبا کردن برنامه نیست. کامپوننت میتونه امکانات اضافه‏تر یک ابزار معمولی باشه. مثلا MessageBox فارسی یا تقویم فارسی (ِDateTimePicker). که در این حالت حتما نباید با WPF نوشته شده باشه.

----------


## keivan mousavi

اضافه کردن MessageBox  فارسی یا امکانات دیگر رو هم میتوان از طریق کامپوننت های  معمولی هم استادیو هم داشت فقط نیاز به چند خط کد داره البته کامپوننت های استادیو ضعیفه و بعضی مواقع سوتی هایی میده که دود از کله آدم بلند میشه

خوده کامپوننت با زبان WPF نوشته میشه حالا تگر بخواهیم امکانات خاصی درونش قرار بدیم مثل همین تاریخ شمسی باید مقداری هم کد نویسی در داخل محیط #C یا... انجام بدیم

----------


## saed2006

کامپونت یعنی جز
هر چیزی که به صورت بسته بندی در اومده باشه و یک کار مشخصی رو انجام بده میتونه کامپونت باشه
لزوما همه کامپونت ها مربوط به ظاهر برنامه نیستند

----------


## keivan mousavi

> کامپونت یعنی جز
> هر چیزی که به صورت بسته بندی در اومده باشه و یک کار مشخصی رو انجام بده میتونه کامپونت باشه
> لزوما همه کامپونت ها مربوط به ظاهر برنامه نیستند


درست هستش
اما چون این دوستمون گفتند محل فروشش کجاست مسلماً منظورشون کامپوننت های Dising بودش

----------


## masoud.ace

نه مهندس جان، صرفا کامپوننت برای دیزاین نیست و کامپوننت های کاربردی مثل کامپوننت ارسال اس ام اس و ... هم داریم.

----------


## Amir 2010a

به نظر من کامپوننت  سورس کدهای نوشته شده   در محیط هایی است که فناوری COM  را پشتیبانی میکنند .  هدف از نوشتن کامپوننت فقط زیبا سازی  نیست بلکه هدف این است که کار برنامه نویسان را ساده کند   و برنامه نویس روی اصل برنامه تمرکز نمایند و از طرفی برنامه نویسانی که هنوز در ابتدای راه هستند (مثل خود بنده)  نیز بتوانند از امکانات تعبیه شده در کامپوننت استفاده کنند به عنوان مثال کامپوننت WIndows Media Player
محیط هایی که COM مایکروسافت   را پشتیبانی میکنند مانند 
1- VC++‎2-
2-Dot Net 
3-  Delphi
در مورد اینکه کامپوننت تا چه اندازه در دنیای برنامه نویسی پابرجا خواهد ماند اختلاف نظر وجود دارد برخی آن  را یک  راه حل خوب برای تعبیه ابزارهای قدرتمند در برنامه می دانند و بعضی انرا  تاریخ مصرف گذشته می دانند

نمونه هایی از کامپوننت هایی که من استفاده کردم را می توانید در لینک زیر ببینید که در محیط ++C  نوشته شده است (Arc Object)
https://barnamenevis.org/showthread.php?t=204889


اگه اینهایی که گفتم اشتباه بودید لطفا با دلیل بهم یادآوری نمائید

----------


## keivan mousavi

صرفاً فقط برای فناوری COM نیستش یا شاید بهتر باشه که بگیم در محیط ویژوآل میتونه در فایلهای دیگه مانند DLL و EXE مورده استفاده قرار بگیره

دلیل استفاده از کامپوننت ها فقط زیبا سازی و کمک به برنامه نویس نیستش بلکه برای تولید نرم افزار هم به کار میره شما فرض کنید که میخواهید ساعت عقربه دار بنویسید

----------


## GISMan

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

----------


## tukanmishsevda

:لبخند: این شاید به دردت بخوره
http://courses.cs.vt.edu/~cs2704/sum02/notes/C16.pdf

----------

