תכנון מונחה עצמים

כימוס בתכנון מונחה עצמים: להסתיר החלטות, לא רק שדות
כימוס הוא אחד הרעיונות הכי מצוטטים בתכנון מונחה עצמים, ובכל זאת הוא מצטמצם לעיתים קרובות מדי ל“שדות פרטיים וגטרים ציבוריים”. זו גרסה חלשה מאוד של הרעיון. אם מחלקה מסתירה את…
נושא · 4 מאמרים
תכנון מונחה עצמים אינו רק מחלקות וירושה. השאלות הקשות בו הן שאלות של גבולות: מה מסתתר בתוך אובייקט ומה חשוף, מי תלוי במי, ומתי שתי מחלקות הן בעצם אחת. הקטגוריה הזו עוסקת בהחלטות האלה ברמה שמתחת לתבניות — ההחלטות שקובעות אם קוד יהיה קל לשנות עוד שנה, או שכל שינוי קטן יגרור אחריו עשרה קבצים.
הרכבה במקום ירושה מסביר למה הכלל קיים ומתי ירושה בכל זאת נכונה, צימוד ולכידות מציג את שני המדדים שמסבירים למה קוד קשה לשנות, ממשק מול מחלקה מופשטת עוסק בבחירה ביניהם, וכימוס בתכנון מראה איך מסתירים החלטות ולא רק שדות.
תכנון מונחה עצמים

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

ההבדל בין interface לבין abstract class נראה לפעמים כמו פרט תחבירי. בפועל, זו החלטת תכנון שמגדירה איך אובייקטים משתפים פעולה, איך קוד משתנה לאורך זמן, ואיפה נוצרת תלות שקשה לפרק…
תכנון מונחה עצמים

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

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