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

ארכיון

מאמרים

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

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

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

Saga Pattern Microservices: טרנזקציות מבוזרות בלי נעילה גלובלית — כוריאוגרפיה מול תזמור

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

11 דק׳ קריאה

עקרונות SOLID

עקרון פתוח/סגור ב־SOLID: להרחיב קוד בלי לשבור אותו — ומתי לעצור לפני הנדסת־יתר

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

8 דק׳ קריאה

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

Observer Design Pattern: תבנית Observer למנוי לשינויים, אירועים וההבדל בינה לבין Pub/Sub

observer design pattern היא אחת מתבניות ההתנהגות החשובות ביותר בתכנון מונחה־עצמים: היא מאפשרת לאובייקט אחד להודיע לאובייקטים אחרים שמשהו השתנה, בלי להכיר את המחלקות הקונקרטיות שלהם ובלי לבנות תלות ישירה…

10 דק׳ קריאה

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

State Design Pattern: תבנית State שמחליפה switch ענק באובייקטים עם התנהגות משתנה

state design pattern היא תבנית התנהגות קלאסית שמטפלת במצב מוכר מאוד בתכנון מונחה־עצמים: אובייקט אחד מתנהג אחרת לפי הסטטוס הפנימי שלו, והקוד מתחיל להתמלא ב־switch, ב־if ובבדיקות חוזרות. במקום לרכז…

9 דק׳ קריאה

תבניות יצירה

תבנית Builder: בניית אובייקט מורכב צעד אחר צעד, מימוש מלא, Fluent Builder ו-Director

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

9 דק׳ קריאה

מבוא לתבניות עיצוב

אנטי־תבניות בתכנון תוכנה: איך מזהים God Object, Spaghetti Code ו־Golden Hammer — ואיך יוצאים מהן

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

9 דק׳ קריאה