کتابخانه در برابر فریمورک

در این مقاله میخواهیم به تفاوت بین دو مفهموم فریمورک و کتابخانه بپردازیم

در این مقاله میخواهیم به تفاوت بین دو مفهموم فریمورک و کتابخانه بپردازیم

  • نویسنده : محمد کاظمی
  • |
  • تاریخ انتشار : 1 ماه پیش

اینجا میخوام به این موضوع بپردازم که اساسا تفاوت بین یک فریمورک و یک کتابخونه چیه؟! خب تعابیر زیادی در مورد این موضوع هست مثالا اینکه خیلی از افراد معتقدن : 

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

این تعبیر همیشه هم درست نیست به این حال تعابیر دیگه ای هم هستند مثل اینکه کد ما کتابخانه را کتابخانه را فرا میخواند ولی این فریمورک است که کد ما رو فراخوانی می کنه و...

کتابخانه

یک کتابخانه مجموعه ای از توابع ، اشیا و ماژول های مختلفی است که کد برنامه شما بخشی از آن را بسته به نیازی که داردرا فراخوانی می کند. کتابخانه ها معمولاً دارای API آنها نیز کوچکتری هستند و به وابستگی کمتری نیاز دارند.

 چرا به کتابخانه ها احتیاج داریم؟ به یک دلیل بسیار ساده یعنی استفاده مجدد از کد ، از کدی که قبلاً توسط سایر توسعه دهندگان نوشته شده است استفاده کنید. به عنوان مثال فرض کنید نیاز به تابع خاصی دارید که یک عملکرد به خصوص را برای شما انجام می دهد به جای اینکه خودتون دست به کار بشید و کد مربوطه رو بنویسید که در نهایت ممکن خطاهایی هم داشته باشه از کتابخانه ها که توسط دیگر توسعه دهندگان ایجاد شده استفاده کنید.

فریمورک یا چهارچوب

از طرف دیگر ، Framework توابع یا اشیایی غیر اجرا شده را تعریف کرده است که به شما کمک می کند ابزار شخصی سازی شده خودتون رو خلق کنید. از آنجا که یک چارچوب به خودی خود یک برنامه کاربردی است ، دامنه وسیع تری دارد و تقریباً همه موارد لازم برای ساختن یک برنامه کاربر را مطابق نیاز خود در بر می گیرد.

به طور خلاصه : فریمورک یک ابزار کامل است که این امکان را به توسعه دهنده می دهد که بسته به نیاز خود با افزودن کدهایی ، در خروجی اپلیکیشن مورد نظر خود را به دست آورد.

فریمورک و کتابخانه

بنابراین ، تفاوت اصلی در "وارونگی کنترل" است که معمولاً IoC نامیده می شود. وقتی ما از کتابخانه تابعی را فرا می خوانیم ، کنترل را در دست داریم. اما در چارچوب ، کنترل معکوس می شود ، یعنی فریمورک است که ما را صدا می کند. 

نکات مهم:

Library: مجموعه ای از عملیات خاص و کاملاً مشخص را انجام می دهد. مثالها: پروتکل های شبکه ، فشرده سازی ، دستکاری تصویر ، ابزارهای کار با رشته ها ، کار با قواعد منظم یا regular expression ، ریاضیات و غیره
چارچوب: در واقع اسکلتی از یک نرم افزار است که به شما امکان تکمیل کردن آن و رسیدن به یک اپلیکیشن دلخواه را می دهد. نمونه هایی از چارچوب ها: سیستم برنامه وب ، مدیر افزونه ، سیستم GUI.
وارونگی کنترل: وقتی از کتابخانه تابعی را فراخوانی می کنیم ، کنترل را در دست داریم. اما در چارچوب ، کنترل معکوس می شود ، یعنی چارچوب ما را صدا می کند.

منبع : وبسات Geeksforgeeks

نظرات

برای گذاشتن نظر ابتدا باید در سایت عضو شوید

برای ورود به حساب کاربری خود اینجا را کلیک

اگر حساب کاربری ندارید اینجا را کلیک

جستجو

دسته بندی

پست های مشابه

  • نوشته شده توسط : محمد کاظمی
  • |
  • تاریخ انتشار : 13 ژوئیه 2021، ساعت 15:40

مشهور ترین وبسایت هایی که با جنگو ایجاد شده اند

  • نوشته شده توسط : محمد کاظمی
  • |
  • تاریخ انتشار : 9 ژوئن 2021، ساعت 12:38

جنگو چیست؟

  • نوشته شده توسط : محمد کاظمی
  • |
  • تاریخ انتشار : 7 مه 2021، ساعت 2:56

چطوری با پایتون وبسایت بسازیم

  • نوشته شده توسط : محمد کاظمی
  • |
  • تاریخ انتشار : 30 آوریل 2021، ساعت 4:20

پردرآمدترین مشاغل نرم افزاری

  • نوشته شده توسط : محمد کاظمی
  • |
  • تاریخ انتشار : 12 آوریل 2021، ساعت 15:50

چگونه برنامه نویسی را شروع کنیم

تگ ها مقاله

turbolearn.ir@gmail.com