تفاوت کتابخانه و فریمورک چیه؟ 🧐
یکی از سوالات اساسی که توی مصاحبه ها مطرح میشه، اینه که چه تفاوتهایی بین کتابخانه و فریمورک وجود داره؟
تفاوت اصلی بین کتابخانه و فریمورک در “وارونگی کنترل (inversion of Control)” هست. وقتی که شما یک method رو از کتابخانه فراخوانی میکنید، شمایید که بر رویکرد اون کنترل دارید. اما در فریمورک اینمسئله برعکسه. فریمورکه که کدهای شما و فراخوانی میکنه.
🔵 وقتی که شما از کتابخانه استفاده میکنید، کنترل تمام روند برنامه در دستان شماست. اما در فریمورک شکلدیگری از کنترل وجود داره. فریمورکه که تمام جریان برنامه رو در دست میگیره. برخی از مکانها را برای شما فراهم میکنه تا بتونید کد خودتونو به فریمورک متصل کنید و موقع نیاز کدهای شما
رو فراخوانی میکنه.
🔵 در سمت دیگه، کتابخانه هیچ چیزی رو برای شروع در اختیار شما نمیزاره. در مقابلِ فریمورک، ویژگیهای محدودتری در کتابخانه وجود داره. همچنین برای استفاده گستردهتر از اونا باید از ویژگیهای ثالث (third-party) دیگر استفاده کنید.
🔵 فریمورک، تمامی جریان (flow) رو در کنترل خود داره و نقاطی از پیش تعریفشده وجود داره که شما باید، با کدهای خودتون اونا رو تکمیل کنید. همچنین فریمورک معمولاً پیچیدهتر هستن.
🔵 فریمورک اسکلتی رو تعریف میکند که در اون، برنامه ما ویژگیهای خاص خودشو برای تکمیلکردن ایناسکلت به اون اضافه میکنه. از اینطریق، فریمورک در زمان موردنیاز کدهای شمارو فراخوانی میکنه.
در هردوی اونا – فریمورک و کتابخانه، APIهای تعریف شدهای موجوده که توسط برنامهنویسان، مورد استفاده قرار میگیره.
در نهایت میشه به این نتیجه رسید که کتابخانه، در توسعه ویژگیهای اپلیکیشن به ما کمک میکنه و فریمورک اسکلت اون رو تشکیل میده.
✦ 💻 @programming_codiing
Post #172
187
- ❤ 5