את הממשק, אתה יכול לעדכן כמה שאתה רוצה, זה בד"כ החלק הקטן בתוכנה. כמובן שכשאני אומר ממשק, אני מדבר על ממשק משתמש.
את המימוש, ופעולות הביצוע של התכנה, תבנה בצורת מנגנון שפתוח לעדכונים, משהו דינאמי, שמחולק לכמה מחלקות (שגם מופרדות בקבצים).בכל פעם שתרצה לעדכן, כלומר תרצה להוסיף פעולה כלשהי, או פונקציה מסויימת, תבנה את המימוש של הפונקציה בנפרד לכל המערכת. אם היא דורשת שימוש בפונקציות קיימות, תתממשק ל-karnel הראשי שלך (המנגנון), ותהיה לך אפשרות לשימוש בהן. את ממשק המשתמש תשנה לחלוטין (הידור מחדש), ובו תתווספנה האפשרויות החדשות, שמשתמשות בקבצים החדשים.
תזכור לא ליצור תלות, ולהפריד כל ממשק ממימוש, כך שתוכל להשתמש בפונקציות גם אם הם אינן בפועל קיימות...