רשומות

מציג פוסטים מתאריך דצמבר, 2017

תכנות מונחה עצמים | Interface Segregation Principle

תמונה
על מנת שהמערכות, היישומים והתשתיות שאנחנו מפתחים יהיו חזקים, יציבים וניתנים לתחזוקה ולשינויים, עלינו לדעת כיצד לעצב אותם בצורה הטובה ביותר. העקרונות הבסיסיים של תכנות מונחה עצמים לרוב אינם יספיקו למפתח בכדי לכתוב מערכת ברמה גבוהה. היום אני הולך להציג את עקרונות העיצוב SOLID. אלו הם 5 העקרונות הראשונים והחשובים ביותר בעיני של עיצוב תוכנה וקוד באמצעות תכנות מונחה עצמים. המדריכים וההסברים נכתבו בC#, אך הם מתאימים למתכנתים בכל שפה משום שהכוונה כאן היא להציג עקרונות. לאחר שהבנו את העקרונות ניתן לממשם בכל שפת OOP. תנאי קדם למדריך: היכרות עם  תכנות מונחה עצמים . מה זה SOLID? S  -  single responsibility principle  - SRP O  -  open closed principle  - OCP L  -  Liskov substitution principle  - LSP I  -  interface segregation principle  - ISP D  -  Dependency injection principle  - DIP לא, אל תצפה להבין מראשי התיבות מה כל עיקרון אומר, ראשי התיבות ושמות כאן אך ורק כדאי להזכיר לנו אילו עקרונות קיימים. בפוסטים הקרובים אסקור כל אחד מחמשת העקרונות הללו,

תכנות מונחה עצמים | Liskov Subtitution Principle

תמונה
על מנת שהמערכות, היישומים והתשתיות שאנחנו מפתחים יהיו חזקים, יציבים וניתנים לתחזוקה ולשינויים, עלינו לדעת כיצד לעצב אותם בצורה הטובה ביותר. העקרונות הבסיסיים של תכנות מונחה עצמים לרוב אינם יספיקו למפתח בכדי לכתוב מערכת ברמה גבוהה. היום אני הולך להציג את עקרונות העיצוב SOLID. אלו הם 5 העקרונות הראשונים והחשובים ביותר בעיני של עיצוב תוכנה וקוד באמצעות תכנות מונחה עצמים. המדריכים וההסברים נכתבו בC#, אך הם מתאימים למתכנתים בכל שפה משום שהכוונה כאן היא להציג עקרונות. לאחר שהבנו את העקרונות ניתן לממשם בכל שפת OOP. תנאי קדם למדריך: היכרות עם  תכנות מונחה עצמים . מה זה SOLID? S  -  single responsibility principle  - SRP O  -  open closed principle  - OCP L  -  Liskov substitution principle  - LSP I  -  interface segregation principle  - ISP D  -  Dependency injection principle  - DIP לא, אל תצפה להבין מראשי התיבות מה כל עיקרון אומר, ראשי התיבות ושמות כאן אך ורק כדאי להזכיר לנו אילו עקרונות קיימים. בפוסטים הקרובים אסקור כל אחד מחמשת העקרונות הללו,

תכנות מונחה עצמים | Open/Closed Principle

תמונה
על מנת שהמערכות, היישומים והתשתיות שאנחנו מפתחים יהיו חזקים, יציבים וניתנים לתחזוקה ולשינויים, עלינו לדעת כיצד לעצב אותם בצורה הטובה ביותר. העקרונות הבסיסיים של תכנות מונחה עצמים לרוב אינם יספיקו למפתח בכדי לכתוב מערכת ברמה גבוהה. היום אני הולך להציג את עקרונות העיצוב SOLID. אלו הם 5 העקרונות הראשונים והחשובים ביותר בעיני של עיצוב תוכנה וקוד באמצעות תכנות מונחה עצמים. בראייתי, כל עקרון נבנה על גבי העיקרון הקודם לו, והבנת עיקרון מסויים תהיה פשוטה בהרבה אם נבין את העקרונות הקודמים. המדריכים וההסברים נכתבו בC#, אך הם מתאימים למתכנתים בכל שפה משום שהכוונה כאן היא להציג עקרונות. לאחר שהבנו את העקרונות ניתן לממשם בכל שפת OOP. תנאי קדם למדריך: היכרות עם  תכנות מונחה עצמים . מה זה SOLID? S  -  single responsibility principle  - SRP O  -  open closed principle  - OCP L  -  Liskov substitution principle  - LSP I  -  interface segregation principle  - ISP D  -  Dependency injection principle  - DIP לא, אל תצפה להבין מראשי התיבות מה כל עיקרון אומר, ראשי הת

תכנות מונחה עצמים | Single Responsibilty Principle

תמונה
על מנת שהמערכות, היישומים והתשתיות שאנחנו מפתחים יהיו חזקים, יציבים וניתנים לתחזוקה ולשינויים, עלינו לדעת כיצד לעצב אותם בצורה הטובה ביותר. העקרונות הבסיסיים של תכנות מונחה עצמים לרוב אינם יספיקו למפתח בכדי לכתוב מערכת ברמה גבוהה. היום אני הולך להציג בפניך את עקרונות העיצוב SOLID. אלו הם 5 העקרונות הראשונים והחשובים ביותר בעיני של עיצוב תוכנה וקוד באמצעות תכנות מונחה עצמים. המדריכים וההסברים נכתבו בC#, אך הם מתאימים למתכנתים בכל שפה משום שהכוונה כאן היא להציג עקרונות. לאחר שהבנו את העקרונות ניתן לממשם בכל שפת OOP. תנאי קדם למדריך: היכרות עם תכנות מונחה עצמים . מה זה SOLID? S  -  single responsibility principle  - SRP O  -  open closed principle  - OCP L  -  Liskov substitution principle  - LSP I  -  interface segregation principle  - ISP D  -  Dependency injection principle  - DIP לא, אל תצפה להבין מראשי התיבות מה כל עיקרון אומר, ראשי התיבות ושמות כאן אך ורק כדאי להזכיר לנו אילו עקרונות קיימים. בפוסטים הקרובים אסקור כל אחד מחמשת העקרונות ה

מה ההבדל בין Assert ל Exception?

תמונה
כל תשתית לכתיבת unit tests שאני מכיר היום משתמשת במחלקה Assert בכדי לקבוע בסוף תרחיש הבדיקה, האם הבדיקה הצליחה או נכשלה. אבל מה ההבדל בין זה לבין throw new Exception? ראשית נבין איזה שימוש נרצה בדרך כלל לעשות בכל אחד מהשניים ואיך נשתמש בהם. המחלקה Assert פירוש המילה Assert באנגלית היא "לטעון" במהלך/לאחר תרחיש הבדיקה שכתבתנו, נטען טענה, אם הטענה שאנחנו טוענים אינה מתקיימת תרחיש הבדיקה יוגדר כנכשל. איך זה עובד? ישנה מחלקה סטטית בשם Assert המכילה מספר רב של סוגי טענות. היום נעבור על מספר דוגמאות שבעיני חשובות להבנת הקונספט. Assert.Fail(string) מקבל כפרמטר מחרוזת, יכשיל את הבדיקה ויציג את המחרוזת כהודעת שגיאה Assert.AreEqual(object, object, string) יקבל כפרמטר שני אובייקטים (לדוג': string, int וכו') ומחרוזת,  ויכשל אם האובייקטים אינם שווים. המחרוזת תוצג כהודעת השגיאה. Assert.IsTrue(bool, string) יקבל ביטוי בוליאני, ויוודא שערכו 'אמת', אם ערכו שקר יכשיל את תרחיש הבדיקה ויציג את המחרוזת שקיבל כהודעת שגיאה. על מנ