article

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

محمد کاظمی 2 سال،9 ماه پیش 676 دسته بندی : برنامه نویسی

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

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

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

کتابخانه

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

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

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

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

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

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

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

نکات مهم:

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

منبع : وبسات Geeksforgeeks

مطالب پیشنهادی
article

معرفی چند وب سایت عالی برای توسعه دهندگان

توی این مقاله می خوایم چند سایت مفید برای توسعه دهندگان معرفی کنیم.

فاطمه روانبخش 2,792 بیشتر بخوانید
article

برنامه نویسی برای تازه کاران: بهترین راه برای یادگیری نحوه کدنویسی در سال 2022

توی این مقاله می خوایم از نحوه ی یادگیری برنامه نویسی برای تازه کارا بگیم.

فاطمه روانبخش 2,594 بیشتر بخوانید
article

کاربردهای جاوا اسکریپت

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

فاطمه روانبخش 1,263 بیشتر بخوانید