בתכנות מונחה עצמים(Design Patterns) מבוא לתבניות עיצוב

3 בSeptember 2012

 

מבוא לDesign
Patterns

(תבניות עיצוב) בתכנות מונחה עצמים

 

סטודנטים ואנשי תוכנה מתחילים נתקלים פעמים רבות במושג:  Design
patterns
ולא
ממש יודעים איך לאכול אותו.

סביר להניח שכולנו שמענו על סינגל טון (singleton pattern) אבל משם ואילך העסק נהיה יותר ויותר קודר.

אז מה זה בדיוק?

תבנית עיצוב כהגדרה זה פתרון מוכח לבעיה ידועה שכנראה חוזרת על עצמה
והפתרון שנמצא ניתן לשימוש חוזר בבעיות דומות.

בוא נניח שהבעיה היא חציית נהר בעזרת סירה במהירות מקסימלית.

 עכשיו בוא נניח  שאדון  X מהעיר דלהי פיתח שיטה לחציית נהר הגנגס בהינף
משוט אחד, האם לא יוכל אדון
Y מלונדון לחצות את התמזה באותה שיטה?

ומה לגבי Z על נהר הירקון ??

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

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

 מה עוד שאם נבין את הפתרון
המוצע בסביבת
design patterns נוכל להשתמש בו שוב בעתיד. 

זאת אומרת שאת השאלה ” בשביל מה זה טוב” פתרנו…

הבה נמשיך

קצת היסטוריה:

 Gang of Four או GoF
(כנופיית הארבעה) הוא כינוי שניתן לאריך גמא, ריצ’רד הלם, רלף ג’ונסון וג’ון
ויליסידס, מחברי הספר:

 Design Patterns – Elements of Reusable Object-Oriented
Software
.  (כריכת הספר בראש הפוסט)                

GoF  היו הראשונים לאסוף תבניות עיצוב שכיחות ולאוגדם תחת ספר אחד שכלל 24   יסודות בתבניות עיצוב, ויצא לאור ב1994

(תודה לוויקיפדיה על המידע)

 

מאז התחום  התפתח ונוצרו תתי תבניות
שבאות לפתור בעיות שונות ומגוונות.

למעשה אנשי תכנה משתמשים יום יום בלא מעט תבניות עיצוב שמוטמעות
בסביבות הפיתוח , לרוב בלי להקדיש מחשבה למה ואיך.

בסדרת הפוסטים הבאה ננסה לשפוך אור בעברית על תבניות עיצוב נפוצות
יותר ופחות

ובהם command, bridge, pactory, proxy, singleton, observer, prototype, facade  ועוד..

בעזרת הסברים ודוגמאות קוד פשוטות כמה שיותר

ננסה לקלף כמה משכבות ההגנה שתבניות העיצוב השכיחות נעטפו בהם ונעשה לכולנו
את החיים קלים ויעילים יותר.

דוגמאות הקוד שאציג יהיו קלות וקצרות ככל שניתן במטרה להקל על הקוראים.

אז יאללה נצא לדרך.

 

הוסף תגובה
facebook linkedin twitter email

Leave a Reply to Ron Cancel reply

Your email address will not be published. Required fields are marked *

2 תגובות

  1. יותם23 בSeptember 2012 ב 13:00

    אחלה. מחכה לקרוא פוסטים.

    Reply
  2. Ron4 בJanuary 2018 ב 20:06

    קראתי את ההסברים שלך , הסברים מעולים וגם בעברית כל הכבוד לך.
    חלק מהמימושים של ה Design Patterns לא הצלחתי למצוא כאן , למשל ה Factory pattern וה Abstract Factory pattern ,
    אחרי קצת חיפושים הצלחתי למצוא אחלה אתר עם הסברים משלימים
    http://designpattern.co.il

    Reply