בחלק זה תמצא מבט מהיר על הנושאים המרכזיים שבמדריך: נתחיל בהיכרות עם מערכת ניהול הגרסאות
Git
ונלמד כיצד ליצור מאגר, לבצע
commitים
ולנהל ענפים בצורה יעילה.
נמשיך אל אוסף המהדרים
GCC
ונראה כיצד לקמפל פרויקטים מרובי קבצים בשפת
C++
תוך שימוש בדגלי אופטימיזציה מתקדמים.
בנוסף נעמיק בעקרונות עבודה נקייה, אוטומציית בנייה בסביבת
DevOps
וטכניקות אבטחת קוד החיוניות למיוני גאמא סייבר וליחידה 8200.
נעסוק גם בהבנת תהליך ה-linking, בניהול תלותיות ספריות חיצוניות ובשיטות אוטומציה להרצת בדיקות יחידה בכל
pipeline
שחרור.
נציג דוגמאות תצורה ל-Makefile
ומקרי שימוש ב-CI/CD
ענני, כדי להפוך כל פרויקט לקל לתחזוקה והרחבה.
המושגים שנסקר כאן: Singleton, Constructor, Protected, Interface, Polymorphism, Virtual Function ו־ IComparable.
תבנית ה־Singleton נועדה להבטיח שרק מופע יחיד (Instance)
של מחלקה מסוימת יתקיים בכל יישום.
יתרון מרכזי: כאשר רוצים משאב גלובלי יחיד, כמו מנהל תצורה או חיבור למסד הנתונים, נמנעים מכך שייווצרו מופעים מרובים שעלולים לגרום לבעיות סנכרון או התנגשויות.
Constructor היא מתודה מיוחדת במחלקה שאחראית על אתחול המופע ברגע יצירתו.
בשפות כמו C# ו־Java, השם שלה זהה לשם המחלקה והיא אינה מחזירה ערך.
Protected הוא מודיפיקאטור גישה (Access Modifier) בשפות
כמו C# ו־Java.
שדות או מתודות שמסומנים כ־protected
זמינים למחלקה עצמה ולמחלקות היורשות ממנה.
Interface הוא מבנה שמתאר קבוצה של שיטות (Methods) ותכונות (Properties) שצריך לממש במחלקות ש'מיישמות' אותו.
ממשק אינו מחזיק לוגיקה פנימית אלא רק חתימה (Signature) של מה שצריך להיות.
Polymorphism מתייחס ליכולת של אובייקט להתנהג בשיטות שונות על פי סוגו האמיתי בזמן ריצה, גם כשמתייחסים אליו דרך טיפוס כללי יותר.
Virtual Function היא שיטה במחלקת בסיס שמסומנת כ־virtual
.
משמעות הדבר היא: כשהמחלקה יורשת ושולטת בשיטה זו, ניתן להחליף אותה על ידי שיטה זהה שמסומנת כ־override
במחלקה היורשת.
IComparable הוא ממשק (Interface) בשפת C# המגדיר קריאה אחת:
int CompareTo(object other)
.
מטרת הממשק: לאפשר השוואה וסידור (Sorting) של מופעים.
בסיום מדריך זה, דנו במגוון מושגים משמעותיים בשפות מונחות עצמים:
Singleton, Constructor,
Protected, Interface,
Polymorphism, Virtual Function ו־
IComparable.