460 likes | 571 Views
Object-Oriented Programming. 2. פרדיגמה – מערך הכולל של: העמדות, התפיסות והשיטות המגדירים את החשיבה המדעית בתקופה נתונה. ההשקפה הרווחת אצל קהילת מדענים העוסקת באותו תחום בתקופה מסוימת. את המונח הגדיר פילוסוף מדע ידוע – תומאס קון בשנות ה-60.
E N D
2. פרדיגמה – מערך הכולל של: העמדות, התפיסות והשיטות המגדירים את החשיבה המדעית בתקופה נתונה. ההשקפה הרווחת אצל קהילת מדענים העוסקת באותו תחום בתקופה מסוימת. את המונח הגדיר פילוסוף מדע ידוע –תומאס קון בשנות ה-60
פרדיגמת תכנות – פרדיגמת תכנות קובעת איך המתכנת רואה או תופס את אופן הביצוע של תוכנית מחשב
מערכת מידע בגישה מונחת עצמים : • אוסף של עצמים המסווגים למחלקות • כל מחלקה כוללת הגדרות הן של מאפיינים\תכונות (נתונים) והן של שיטות\פונקציות השונות (התנהגויות) של העצמים שלה. • עצמים יכולים להעביר מסרים (קשר בין מחלקות) ביניהם.
עקרונות OO: • הכמסה • הורשה • פולימורפיזם • יתרונות של OO: • המונחים הבסיסיים הן טבעיים • הפשטה של המציאות • תומכת ביכולת שימוש חוזר • תחזוקה פשוטה יותר (שינויי והרחבה) • שימוש באותה הגישה בכל שלב פיתוח
מונחים בגישת מונחה עצמים • עצם\מופע\אובייקט\object\instance • מחלקה\class • תכונה\מאפיין\attribute • קשרים • פונקציות\שיטות ומסרים
עצם (object) • עצם – הוא דבר ששומרים עליו נתונים ומבצעים באמצעותו פעולות. • יכול להיות מוחשי, תפיסתי, אירוע • לעצם יש מאפיינים והתנהגויות • מצב (state) – ערכי מאפיינים ברגע נתון • יכול להעביר מסרים לעצמים אחרים (להפעיל שיטות\התנהגויות אצל עצם אחר) • כתוצאה מהפעלת שיטת אובייקט מצבו יכול להשתנות
קריטריונים לזיהויי עצם: • הצורך לזכור • הצורך להתנהג • יותר מתכונה אחת • יותר מעצם אחד במחלקה • התכונות תמיד מתאימות • הקשרים תמיד מתאימים • הפונקציות תמיד מתאימות • הדרישות שייכות לתחום הבעיה
הכמסה \ \ Information HidingEncapsulation • יכולת להסתיר חלק מן השיטות והתכונות בפני עצמים אחרים
יתרונות כימוס : הסתרת מורכבות : גמישות בשינויים :
מחלקה (class) • אוסף עצמים מאותו סוג • אנלוגי לישות במודל ER
שם מחלקה תכונות visibility name: type = defaultValue שיטותvisibility name (parameters): type Visibility:
קשרים \Relationships • Association • Aggregation • Composition • Inheritance
Association:Binary associations אנלוגי למודל ישויות-קשרים מצוין ע''י קו , שם, קרדינליות ותכונות ייחוס (תפקיד) unidirectional association bi-directional association
קשר "הקבצה"aggregation/composition • קשר בין עצם מסוג מסוים שהוא ה-"שלם" לבין עצמים מסוגים אחרים שהם חלקיו
קשר "הורשה" • מבחין בין מחלקות – על למחלקות משנה היורשות מהן תכונות ופונקציות
דריסה OVERRIDING
בניית תרשים מחלקות. הכללים: • לבחון מה הם האמצעים הפיזיים, המתקנים, המכשירים וכדומה שצריך לשמור נתונים עליהם • לבחון אירועים המתרחשים במציאות ושאותם יש לשמור במ''מ • לבחון תפקידים שממלאים אנשים • לבחון מערכות אחרות דומות
איזה הרגשה זו ? ... לכתוב ולהמשיך לכתוב שורות קוד !!!!
דוגמא למודל של מערכת Web גנרית • דרישות הלקוח לשלב הראשון: • למשתמש ניתנת אפשרות: • צפייה ברשימת ישויות. • עדכון מאפייני ישות. • הוספת ישויות חדשות. • מחיקת ישויות. • חיפוש ישות. • תרשים Use Case Diagram לסבב הראשון:
INTERNET default.aspx הגולש מקליד כתובת האתר ומקליק Enterhttp://www.inventory.com/default.aspx default.aspx.cs אובייקט EntityBE נשלח חזרה אל BLL ואז ל-default.asx.cs . בסוף נשלח אל הגולש קובץ aspx אם הנתונים ובהתאם לפרמטרים שהקליד EntityBE הקובץ נמצא בשרת אינטרנט ונשלח למחשב של הגולש. EntityBLL EntityDAL DataProviderHelper הגולש מקליד פרמטרים בטופס ומקליק Enter בשרת נמצא קובץ code behinddefault.aspx.cs המקושר לטופס default.aspxהקובץ מורץ ומתבצעת בדיקת validation ברמת UI לפי פרטי ההתחברות נשלחים הפרמטרים אל בסיס הנתונים. בסיס הנתונים מריץ שאילתת פרמטרים ומחזיר את התוצאות ל- DAL אם הכל תקין ברמת UI, הפרמטרים נשלחים אל רמת Business Logic DAL פונה ל- Business Entities יוצר אוביקט EntityBE וממלא אותו בנתונים שנשלחו מבסיס הנתונים קוד Java Script מריץ בדיקת validation ברמת presentation אם הכל נמצא תקין, הטופס עם הפרמטרים נשלח אל השרת במחלקת EntityBLL מתבצעת בדיקה של לוגיקה עסקית . אם הכל נמצא תקין הפרמטרים נשלחים אל DAL DAL פונה אל Web.Config לקבלת פרטי התחברות לקובץ בסיס נתונים