article

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

محمد کاظمی 6 ماه،3 هفته پیش 52 دسته بندی : برنامه نویسی

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

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

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

کتابخانه

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

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

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

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

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

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

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

نکات مهم:

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

منبع : وبسات Geeksforgeeks

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

تاثیر برنامه نویسی روی مغز

بررسی تاثیر برنامه نویسی روی مغز انسان با استفاده از شواهد علمی

محمد کاظمی 58 بیشتر بخوانید
article

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

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

محمد کاظمی 72 بیشتر بخوانید
article

جنگو چیست؟

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

محمد کاظمی 22 بیشتر بخوانید