SOLID Principles - עקרונות ה-SOLID
ב-2003, Robert Martin - שידוע בתעשייה כ-"Uncle Bob" - פרסם את הספר "Agile Software Development, Principles, Patterns, and Practices". הוא כבר היה מהנדס תוכנה במשך עשרים שנה. הוא ראה מערכות נולדות, מתרחבות, ומתפרקות. הוא ראה ב-projects שנמשכים שנים שהפכו לביצות שאיש לא רצה לגעת בהן. והוא שם לב לתבנית חוזרת ונשנית: שינוי אחד במקום אחד שובר חמישה דברים במקומות אחרים לחלוטין.
זה לא רק כאב - זה אסטרטגיה עסקית גרועה. Feature שאמור לקחת שבוע לוקח חודש כי מישהו צריך להבין מה ישבר. Developer חדש לוקח חצי שנה כדי להפוך לפרודוקטיבי כי המערכת כל כך סבוכה. Hotfix של שורה אחת גורם ל-regression בחלק שנראה לא קשור בכלל.
SOLID הן 5 עקרונות שבאות לשבור את התבנית הזו. הן לא קסם - מערכת שמיישמת SOLID יכולה להיות גרועה מסיבות אחרות. אבל מערכת שמפרה את כל 5 העקרונות בוודאות תהפוך לביצה. Robert Martin אסף אותן יחד, אך השם SOLID הוא backronym שהציע Michael Feathers מאוחר יותר. Uncle Bob ממשיך לפרסם על architecture עד היום בblog.cleancoder.com.
Robert Martin פרסם את עקרונות ה-SOLID לראשונה ב-2000 כ-"The Principles of OOD" בעמודה "Engineering Notebook" בירחון C++ Report. הוא אסף אותם לספר ב-2003. שם SOLID הוא backronym - Michael Feathers הציע אותו מאוחר יותר. Uncle Bob ממשיך לכתוב על architecture בblog.cleancoder.com.
חמשת עקרונות SOLID במבט אחד
כל אחד מהם תוקף סוג אחר של coupling שהורג codebases