בית פורומים למתכנתים שבינינו

מושגי יסוד של פיתוח מונחה עצמים

שלום אורח. באפשרותך להתחבר או להירשם
הצג 15 הודעות בעמוד הוסף לדף האישי  דווח למנהל שלח לחבר
נשלח ב-4/9/2011 01:18 לינק ישיר 
מושגי יסוד של פיתוח מונחה עצמים

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

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

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




דווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 01:21 לינק ישיר 

תודה!

בתקווה שתוסיף לנו מידיעותיך.. :)



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 01:26 לינק ישיר 

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

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



דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 01:41 לינק ישיר 

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

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







דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 01:49 לינק ישיר 

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



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 01:51 לינק ישיר 

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

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

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



דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 01:56 לינק ישיר 

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


אני לא מכיר את המורה שלך, אבל נדמה לי שיש לי יתרון שאני עוסק בזה ומיישם מה שאני כותב כאן.
האם את מכירה UML?

תוקן על ידי מנתחמערכות ב- 04/09/2011 01:57:36




דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 01:58 לינק ישיר 

באמת כל הכבוד על היוזמה. לא נפריע לך ברצף המאמרים.



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 01:59 לינק ישיר 

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



דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 07:41 לינק ישיר 

מקווים גם..



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 08:11 לינק ישיר 

בוקר טוב

יו כמה שזה משעמם ומרדים...

אתה באמת עוסק בזה או רק מלמד את זה ?

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

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

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

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



דדווח על תוכן פוגעני

מחובר
נשלח ב-4/9/2011 12:36 לינק ישיר 

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

תודה!




דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 12:42 לינק ישיר 

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



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 12:57 לינק ישיר 

חולמת_בקיץ כתב:
אני גם לא מבינה כלום ממה שכתבת..
אתה יכול לכתוב בצורה מוחשית הרבה יותר
למשל משהו כמו: אוביקט = כסא
 מחלקה  = מאפייני כסא


אז כן הבנת+-...;)
אם את גרה באזור שלי אני יוכל לשבת וללמוד איתך את זה כי אני רוצה(חייבת!) ג"כ להזכר בזה...



דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 13:05 לינק ישיר 

אני מצטרפת!




דדווח על תוכן פוגעני

סמל אישי
מנותק
נשלח ב-4/9/2011 13:36 לינק ישיר 

מה הבנתי? לא הבנתי כלום....
זה ידע שלי מהלימודים ומהעבודה השוטפת.



דדווח על תוכן פוגעני

סמל אישי
מנותק
   
בית > פורומים > אינטרנט ומחשבים > למתכנתים שבינינו > מושגי יסוד של פיתוח מונחה עצמים
מנהל לחץ כאן לנעילת האשכול
הוסף לעמוד האישי  דווח למנהל שלח לחבר
1 2 3 לדף הבא סך הכל 3 דפים.

bholext