MFC (Microsoft Foundation Classes) היא ספרייה של מיקרוסופט ב־C++ שמעטפת את ה‑Windows API (ממשק תכנות של מערכת ההפעלה). היא מהווה מסגרת לפיתוח יישומים בסביבת חלונות ומכילה מחלקות לטיפול בחלונות, פקדים ושגרות נפוצות.
MFC נוצרה ב־1992 יחד עם המהדר Microsoft C/C++ 7.0, עבור גרסאות 16‑ביט של חלונות. היא נועדה להציג את יכולות שפת ++C ולסייע למיקרוסופט להגדיל את נתח השוק של כלי הפיתוח. ההשראה הגיעה מ‑Think Class Library (TCL) של מקינטוש, ולמושג המבני שלה יש דמיון אליה.
באותה תקופה הופיעו כלי מתחרים, ובולטים בהם OWL (Object Windows Library) של בורלנד. OWL היה נאמן יותר לעקרונות תכנות מונחה עצמים, אך עם הזמן איבד נתח שוק. גרסאות ותאימות השפיעו על הפופולריות של כלי הפיתוח.
מיקרוסופט הוסיפה מאקרואים (קיצורי קוד) ב־++C כדי לנהל הודעות חלונות, חריגות (exceptions) והכוונה דינמית של מחלקות בזמן ריצה. מאקרואים לטיפול בהודעות הפחיתו שימוש בזיכרון אך גם פתחו פתח לבאגים בגלל בדיקות טיפוס חלשות. מאקרואים אחרים, כמו סדרות (serialization) ותמיכה בחריגות, היו פחות בעייתיים. בגרסאות 32‑ביט נשמרה תאימות לתכונות אלה.
עם הזמן מיקרוסופט דגלה בכלים אחרים כמו Visual Basic, שהיו קלים יותר לשימוש לעסקים. היורש בסביבת .NET הוא Windows Forms לפיתוח מהיר של יישומים. עדיין קיימות חברות שמשתמשות ב‑MFC לפיתוח חדש, בעיקר כיוון שהן התחייבו ל־C++ ולפלטפורמת חלונות.
MFC מספקת מסגרת מוכנה לעבודה עם חלונות ופקדים. היא מקצרת העבודה על פיתוח ממשק משתמש ומכילה מחלקות מוכנות למגוון משימות נפוצות.
ב־MFC יש למעלה מ‑200 מחלקות. קוד המקור שלהן כלול בכל עותק של סביבת Visual C++. המחלקות מאורגנות בעץ תורשה שמתחיל ב‑CObject, ורוב המחלקות בנויות כך שמפתחים יורשים מהן.
בשיטה ההונגרית מצרפים קידומות לשמות משתנים כדי לציין את טיפוסם. דוגמה: b למשתנה בוליאני (boolean), c למחלקה (class), sz או psz למחרוזת (string). השיטה הוצעה על ידי צ'ארלס סימוניי והיא נפוצה בקוד חלונות ו‑MFC.
MFC נחשבת למורכבת יחסית. בסביבת Visual C++ יש אשפים (wizards) שיוצרים קוד אוטומטית, אך הם עלולים לבלבל מתחילים. מומלץ להכיר גם עקרונות תאורטיים כמו מודל מסמך/תצוגה (Document/View) לפני כתיבת קוד. לשליטה ב‑MFC יש ללמוד נושאים בסיסיים אלו ואחרים.
MFC שודרגה לאורך השנים יחד עם גרסאות Visual C++. קיימות גרסאות 16‑ביט ו‑32‑ביט ועדכונים שהותאמו לשינויים ב‑Windows ולכלים של מיקרוסופט.
MFC (קיצור של Microsoft Foundation Classes) היא קבוצה של קוד ב‑C++ שעוזרת לבנות תוכנות לחלונות. Windows API (ממשק לתוכניות לדבר עם המחשב) היא השכבה שעליה היא עובדת.
MFC נוצרה ב־1992 עם מהדר בשם Microsoft C/C++ 7.0. זה היה כשעבדו על חלונות ב‑16 ביט. היא קיבלה רעיונות מספריות דומות של מקינטוש.
חברה אחרת, בורלנד, עשתה כלי מתחרה בשם OWL. בהתחלה OWL היה פופולרי, אבל עם הזמן מפתחי התוכנה בחרו בפתרונות אחרים.
מיקרוסופט הוסיפה קיצורי קוד שנקראים מאקרואים. הם עזרו לנהל הודעות וחריגות (שגיאות מיוחדות). הקיצורים חיסכו זיכרון, אך גם יצרו לעתים באגים.
מיקרוסופט השקיעה גם בכלים קלים יותר, כמו Visual Basic. היום יש כלי מודרני שנקרא Windows Forms ב‑.NET. עדיין יש חברות שמשתמשות ב‑MFC לפתח תוכנות ב‑C++.
MFC נותנת מחלקות מוכנות לעבודה עם חלונות ופקדים. זה חוסך זמן למפתחים.
יש יותר מ‑200 מחלקות ב‑MFC. הן מסודרות בעץ עם שורש שנקרא CObject. מפתחים בדרך כלל יורשים מהן כדי ליצור תוכנות.
בשיטה ההונגרית מוסיפים קידומת לשם המשתנה כדי לדעת את סוגו. למשל b למשתנה אמת/שקר (boolean), c למחלקה, sz למחרוזת. שיטה זו נקראת על שם צ'ארלס סימוניי.
ללמוד MFC יכול להיות קשה. יש אשפים (כלים שמייצרים קוד אוטומטי), אבל הם עלולים לבלבל תלמידים. כדאי גם להבין רעיונות כלליים לפני שמתחילים לכתוב קוד.
תגובות גולשים