תכנון API

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

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

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

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

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

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

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

Visitor מייצגת פעולה שמתבצעת על האלמנטים של מבנה אובייקטים, ומאפשרת להגדיר פעולה חדשה בלי לשנות את מחלקות האלמנטים. ההגדרה לפי ספר ה-GoF, איך double dispatch עובד באמת, מימוש מלא על עץ ביטויים ב-Java ובפייתון, והחלופה המודרנית של pattern matching.
תבניות מבנה

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

Factory Method מגדירה ממשק ליצירת אובייקט ומשאירה למחלקות־הבת להחליט איזו מחלקה ליצור. ההגדרה המדויקת, ארבעת המשתתפים, מימוש מלא ב-Java ובפייתון, ההבדל מ"פקטורי פשוט" ומתי new ישיר עדיף.
מבוא לתבניות עיצוב

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