לדלג לתוכן

משתמש:Tamir The Great/SOLID (עיצוב מונחה עצמים)

מתוך ויקיפדיה, האנציקלופדיה החופשית

בתכנות, SOLID הוא ראשי תיבות (וגם מנמוניקה) המייצגים חמישה עקרונות בסיסיים בתכנות מונחה-עצמים ועיצוב מונחה-עצמים. חמשת העקרונות האלו פורסמו לראשונה על ידי מהנדס התכנה האמריקאי רוברט סי. מרטין[1][2] בשנות האלפיים המוקדמות[3]. המחשבה מאחורי העקרונות היא שכאשר הם מיושמים יחדיו בפיתוח של מערכת תכנה, סביר שהיא תהיה יותר קלה לתחזוק והרחבה לאורך הזמן.

אות עיקרון מיוצג מהות העיקרון
S SRP[4]
עיקרון האחריות הבודדת
מחלקה צריכה להיות בעלת אחריות אחת ויחידה (כלומר רק שינוי פוטנציאלי אחד ויחיד במפרט התכנה צריך להיות מסוגל להשפיע על המפרט של המחלקה)
O OCP[5][5]
עיקרון פתיחות/סגירות
"ישויות תכנה ... צריכות להיות פתוחות להרחבה, אך סגורות לשינוים."
L LSP[6]
עיקרון ההחלפה של ליסקוב
"אובייקטים בתכנית צריכים להיות ניתנים להחלפה עם מופעים יורשים מבלי לשנות את נכונות התכנה."
ראה גם עיצוב על ידי החוזה.
I ISP[7]

עיקרון הפרדת הממשקים

"ממשקים רבים ושונים המותאמים ללקוחות ספציפיים עדיפים על ממשק גנרי יחיד."[8]
D DIP[9]
עיקרון היפוך התלויות
"אובייקטי תכנה צריכים להסתמך על הפשטות (אבסטרקציות) ולא על מימושים".

מושגים בסיסיים ונושאים קשורים

[עריכת קוד מקור | עריכה]

עקרונות עיצוב ופיתוח תכנה

[עריכת קוד מקור | עריכה]

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. ^ “Principles Of OOD”, Robert C. Martin (“Uncle BOB”), butunclebob.com, Last verified 2014-07-17.
  2. ^ “Getting a SOLID start.”
  3. ^ “SOLID Object-Oriented Design”, Sandi Metz (Duke University), Talk given at the 2009 Gotham Ruby Conference in May, 2009.
  4. ^ "Single Responsibility Principle" (PDF). אורכב מ-המקור (PDF) ב-1 ביוני 2015. {{cite web}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)
  5. ^ "Open/Closed Principle" (PDF). אורכב מ-המקור (PDF) ב-5 בספטמבר 2015. {{cite web}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)
  6. ^ "Liskov Substitution Principle" (PDF). אורכב מ-המקור (PDF) ב-5 בספטמבר 2015. {{cite web}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)
  7. ^ "Interface Segregation Principle" (PDF). 1996. אורכב מ-המקור (PDF) ב-5 בספטמבר 2015. {{cite web}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)
  8. ^ Robert C. Martin (“Uncle Bob”) (2000), Design Principles and Design Patterns (PDF), objectmentor.com, אורכב מ-המקור (PDF) ב-6 בספטמבר 2015, נבדק ב-2009-01-14 {{citation}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)
  9. ^ "Dependency Inversion Principle" (PDF). אורכב מ-המקור (PDF) ב-5 בספטמבר 2015. {{cite web}}: (עזרה); פרמטר לא ידוע |deadurl= (הצעה: |url-status=) (עזרה)

קטגוריה:תכנות מונחה-עצמים