چارچوب نرمافزار
| در متن این مقاله از هیچ منبع و مأخذی نام برده نشدهاست. شما میتوانید با افزودن منابع برطبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
چارچوب نرمافزار یک طراحی قابل استفاده برای سیستم یا زیرسیستمهای نرمافزاری است، که نشان دهنده مجموعهای از کلاسهای انتزاعی و روشی است که نمونههای آن کلاسها برای نوع مشخصی از نرمافزار همکاری میکنند.
چارچوبهای نرمافزاری میتوانند طراحیهای شی گرا داشته باشند. چارچوب نرمافزار ممکن است شامل برنامههای پشتیبانی، کدهای کتابخانهای، زبانهای اسکریپتی و یا نرمافزار دیگری برای توسعه و گسترش باشد. قسمتهای مختلف چارچوب میتواند توسط یک واسط برنامهنویسی کاربردی (API) نشان داده شود.
انگیزهها [ویرایش]
چارچوبها برای این طراحی شدهاند که به برنامهنویسان و طراحان اجازه دهد تا زمان خود را بیشتر صرف نیازمندیهای نرمافزار کنند اگرچه انتخابها را در زمان توسعه محدود کرده بنابراین سودمندی و کارایی را افزایش میدهد، خصوصاً در پروژههای بزرگ و سیستمهای پیچیده.
انواع چارچوبهای نرمافزاری [ویرایش]
چارچوب نرمافزاری میتواند ساخت ادیتور گرافیکی برای محدودههای مختلف هنری مانند نقاشی، ساخت موسیقی و CAD مکانیک باشد. دیگر چارچوب نرمافزاری میتواند در ساخت کامپایلر برای زبانهای متفاوت برنامهنویسی کمک کند. دیگری ممکن است در ساخت سیستمهای پشتیبانی تصمیمگیری کمک کند. چارچوبهای نرمافزاری دیگری برای مولتیمدیا، برنامههای کاربردی وب، و حتی ارتباط میان سیستمهای مختلف باشد.