תשתית הפיתוח Net. מכילה מאות ספריות מובנות בהן אפשר להשתמש על מנת להקל על עצמנו בפיתוח הקוד. היום נלמד כיצד ניתן להוסיף אותן לפרויקט שלנו ואיך להשתמש בהן. במדריך איך ליצור מחשבון בC# אפשר לראות בתחילת הקוד שאנחנו כותבים את השורה using System.Linq; השורה הזו בעצם מייבאת לנו את הקוד הקיים ב System.Linq - namespace ומאפשרת לנו להשתמש בכל הטיפוסים והפונקציונאליות הקיימות בו. ניתן יהיה לראות שאם נמחק את שורת ה using נקבל שגיאת קומפילציה משום שהפעולה Contains לא תימצא. private static bool IsValidOperation(string input) { return operations. Contains(input) ; // פעולה אשר בודקת האם ערך מסוים קיים במערך } אבל רגע.. מאיפה התכנית שלנו מכירה את ה System.Linq - namespace? כאן קבצי ה DLL נכנסים לתמונה. אם נכנס ל Solution Explorer שלנו (ctrl+alt+L) ניתן יהיה לראות תחת הפרויקט Calculator שורה הנקראת References. בלחיצה על השורה יהיה אפשר לראות כל מיני שמות בהם הפרויקט שלנו משתמש, כל אחד מהקבצים הללו הוא קובץ DLL. מהו קובץ DLL?
מבוא בתעשייה יש כיום שיח סוער מאוד על ההבדל בין אוטומציה לבין פיתוח. בעוד שיש אנשים שאומרים שאוטומציה זה פיתוח לכל דבר ומי שכותב אוטומציה צריך להסתכל על עצמו כעל מפתח, יש אנשים שרואים בפיתוח אוטומציה כתחום ששווה פחות, מתגמל פחות ודורש פחות הכשרה. הפוסט הזה אינו עוד שיחת מוטיבציה עם מסר של ״גם מפתחי אוטומציה הם מפתחים וצריך להתייחס אליהם ככה״. מטרת הפוסט היא להציג את נקודת מבטי האישית על תחום האוטומציה, על ההבדל בינו לבין תחום פיתוח התוכנה ה״רגיל״ לנסות לתת מענה לשאלה - מדוע אנשים רואים פער בין התחומים? קודם כל, מה זה פיתוח אוטומציה? יש הרבה הגדרות ל״מה זה אוטומציה״ ואני חושב שזו אחת הסיבות המרכזיות לדיון הבלתי נגמר על ההבדלים. כשאני מדבר על אוטומציה אני מדבר על כל קוד שנכתב כדי לעזור לנו לקדם את התהליכים שאחרת היו נעשים באופן ידני. כללי, נכון? זו בדיוק המטרה (בהמשך הפוסט נראה בדיוק למה ההגדרה כללית כל כך וכלל לא משנה). לפי ההגדרה הזו, כתיבת הספרייה selenium היא כתיבת אוטומציה, אם ניקח את זה קצת יותר רחוק, גם כתיבת המערכת jenkins היא אוטומציה. האם Jason Huggins ו Simon Stewart, שניים
זהו פוסט קצר שמטרתו להציג את תבנית העיצוב singleton ומדוע אינני ממליץ להשתמש בה. הפוסט הינו חלק מסדרה שמטרתה לדבר על כתיבת קוד רע ו-anti-patterns בתחום עיצוב התוכנה. מה זה סינגלטון סינגלטון היא תבנית עיצוב ממשפחת ה creational, שמטרתה להגביל את יצירת המופעים של מחלקה מסוימת למופע יחיד, משתמשים בתבנית הזו על מנת שלא ליצור התנגשות בין אובייקטים בפעולות כמו כתיבה לזכרון, קובץ דאטאבייס וכו׳. אופן המימוש של סינגלטון הוא די פשוט. כל מה שצריך זה מחלקה עם field פרטי שמטרתו לשמור על האובייקט המאותחל. ופונקציית אתחול שמאתחלת את האובייקט במידה ולא אותחל כבר. באופן הזה נקרא כל פעם למופע המחלקה באמצעות הפונקציה get_instance ונקבל את אותו המופע. למה לא להשתמש בו סינגלטון היא תבנית פשוטה מאוד, אבל האמת היא שאין מתנות חינם. הנה 4 סיבות (מהקלה לחמורה) לכך שאני חושב שלא כדאי להשתמש בסינגלטון: בזבזנות בזיכרון שימוש בסינגלטון הוא אינו יעיל בהיבטי זיכרון כשמדובר על סביבות בהן יש garbage collector . במקרים בהם משתמשים בסינגלטון בשפות כאלו (כמו java ופייתון), השפה מגדירה את האובייקט כחשוב (מכיוון שיש אליו רפ
תגובות
הוסף רשומת תגובה