Posts

Showing posts with the label inheritance

תבניות עיצוב - מפעל

Image
תבניות עיצוב  ״ הי-יו ג׳ורד ת׳יודע מה חזק ?    קוד שמתכנת לממשק ולא למימוש זה חזק ! ״ אנחנו רוצים שהקוד שלנו יהיה גנרי ומאפשר התפתחות עתידית, כדי שאם נרצה להוסיף אובייקטים שונים, לא נצטרך לשנות את הקוד שלנו בכמה מקומות. אנחנו גם רוצים ששינוי ברכיב אחד לא ישפיע על רכיב אחר, כי אנחנו לא אוהבים כפל קוד ולהתחיל לחפש ב- 10 מקומות איפה צריך לשנות/להוסיף את מה שאנחנו רוצים, וכתיבה בצורה הזו היא אבן יסוד בתכנות מונחה עצמים. אנחנו לא רוצים גם להמציא את הגלגל, אין שום צורך, אבותינו וחכמינו זצ״ל כבר חשבו על בעיות נפוצות וגם חשבו על דרכים לפתור אותם. אם אני רוצה ליצור מכונית, יש כבר אנשים שחשבו על ה״תבנית״, מנוע, 4 גלגלים, הגה ועוד... לא צריך להמציא כל פעם את הגלגל מחדש... תרתי משמע :) נכון שזה לא פותר לנו את העיצוב של כל המבנה, אבל זה אומר שאני לא צריך להמציא כל דבר קטן. לפתרונות כאלה קוראים ״תבניות עיצוב״. בתמונה: התנ״ך של תבניות העיצוב:  Design Patterns(1994)   ניתן עוד דוגמה להמחשה, אנחנו פותחים סטארט-אפ וכותבים אפליקציה לניהול לוגיסטי. האפליקציה שלנו בהתחלה יכולה להתמו...