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