דלג לתוכן הראשי
שכבת הפשטה ארכיטקטורת תוכנה בעברית

ארכיון

מאמרים

40 מאמרים על תבניות עיצוב, עקרונות תכנון וארכיטקטורת תוכנה, מהחדש לישן.

רשימת המאמרים

תכנון API

ניהול גרסאות API בלי כאב ראש: URL, כותרת או בלי גרסאות — ואיך שומרים על התאמה לאחור

ניהול גרסאות API נראה כמו החלטה טכנית קטנה: מוסיפים /v1 לכתובת, בודקים כותרת, או פשוט משנים בזהירות. בפועל זו אחת ההחלטות שמשפיעות הכי הרבה על לקוחות קיימים, על קצב פיתוח,…

10 דק׳ קריאה

מיקרו־שירותים

מונולית מול מיקרו־שירותים — monolith vs microservices ומונולית מודולרי באמצע: איך מחליטים

הדיון על monolith vs microservices כמעט תמיד מתחיל מהטכנולוגיה הלא נכונה: Kubernetes, Docker, תורי הודעות, API Gateway, מסדי נתונים נפרדים. אבל ההחלטה האמיתית אינה “איזו ארכיטקטורה נשמעת מודרנית יותר”, אלא…

9 דק׳ קריאה

UML ותרשימים

uml class diagram: מדריך מעשי לתרשים מחלקות UML, קשרים וריבוי

uml class diagram הוא אחד התרשימים השימושיים ביותר כשצריך להבין מבנה של מערכת מונחית־עצמים לפני שנוגעים בקוד, בזמן ריוויו ארכיטקטוני, או כשמנסים להסביר למפתח אחר למה מחלקה אחת תלויה באחרת.…

11 דק׳ קריאה

עקרונות SOLID

עקרון האחריות היחידה ב-SOLID: איך מזהים מחלקה שעושה יותר מדי לפני שהיא שוברת את המערכת

עקרון האחריות היחידה, או Single Responsibility Principle, הוא אחד הרעיונות הפשוטים ביותר להסבר בעיצוב מונחה עצמים — ואחד הקשים ביותר ליישום עקבי. המשפט המוכר “למחלקה צריכה להיות סיבה אחת להשתנות”…

10 דק׳ קריאה

תקשורת בין אובייקטים

תבנית Chain of Responsibility: שרשרת מטפלים שבה כל חוליה מחליטה אם לטפל או להעביר — מימוש מלא

Chain of Responsibility מנתקת את שולח הבקשה מהמקבל שלה בכך שהיא נותנת ליותר מאובייקט אחד הזדמנות לטפל בה. ההגדרה לפי ספר ה-GoF, המשתתפים, מימוש מלא ב-Java ובפייתון על שרשרת אישורי רכש, הווריאציה של צינור מסננים, ומה קורה כשאף חוליה לא מטפלת.

8 דק׳ קריאה

תבניות התנהגות

strategy design pattern: תבנית Strategy להחלפת אלגוריתם בזמן ריצה, ומתי פונקציה פשוטה כבר לא מספיקה

תבנית strategy design pattern מטפלת במצב מוכר מאוד בתכנון מונחה עצמים: יש כמה דרכים לבצע פעולה מסוימת, והבחירה ביניהן לא צריכה להיות תקועה בתוך שרשרת if/else ארוכה. במקום שהמחלקה המרכזית…

9 דק׳ קריאה

תבניות מבנה

תבנית Composite: מבני עץ שבהם עלה וצומת מטופלים אותו דבר — מימוש מלא על מערכת קבצים

Composite מרכיבה אובייקטים למבני עץ שמייצגים היררכיות של חלק ושלם, ומאפשרת ללקוח לטפל באובייקט בודד ובהרכב של אובייקטים באותה צורה. ההגדרה לפי ספר ה-GoF, המשתתפים, מימוש מלא על מערכת קבצים ב-Java ובפייתון, והדילמה בין שקיפות לבטיחות.

8 דק׳ קריאה

תבניות יצירה

תבנית Abstract Factory: משפחות של אובייקטים קשורים, מימוש מלא וההבדל מ-Factory Method

Abstract Factory מספקת ממשק ליצירת משפחות של אובייקטים קשורים בלי לציין את המחלקות הקונקרטיות שלהם. ההגדרה לפי ספר ה-GoF, חמשת המשתתפים, מימוש מלא ב-Java ובפייתון, ומה ההבדל האמיתי בינה לבין Factory Method.

8 דק׳ קריאה