Commits

Anonymous committed a9d167a

Add the part about accessors.

Comments (0)

Files changed (1)

t2/lecture/Perl/Newbies/lecture5-notes.txt

 פתוחות-קוד וחינמיות שאיכותן טובה וקרוב לודאי שתמצאו אחת שתאהבו.
 
 http://www.shlomifish.org/lecture/Perl/Newbies/lecture5/version-control/mercurial-demo.html :
-
+st
 הדגמה.
 
+http://www.shlomifish.org/lecture/Perl/Newbies/lecture5/accessors/ :
 
+שיטות גישה ("נגשים"? אקססורים) - הן דרך לבצע אבסטרקציה לגישה של הגישה לשדות
+של עצמים, מאחורי קריאות לשיטות/מתודות. לדוגמה, אנו יכולים לקרוא 
+ל- ‪$person->age()‬ כדי לקרוא את גילו של ‪$person‬ ול-‪$person->age(21)‬
+או ‪$person->set_age(21)‬ כדי לשנות את ערך הגיל שלהם ל-21.
 
+לאקססורים יש מספר יתרונות חשובים על פני גישה לשדות של עצמים
+באופן ישיר.
 
+http://www.shlomifish.org/lecture/Perl/Newbies/lecture5/accessors/example.html :
+
+זוהי מחלקה לדוגמה עם מספר אקססורים ותסריט שמשתמש בה.
+
+http://www.shlomifish.org/lecture/Perl/Newbies/lecture5/accessors/motivation.html :
+
+מוטיבציה: אז מדוע כדאי שנשתמש באקססורים במקום שנעשה גישה ישירה
+ל-‪$person->{'age'}‬ לשדה של העצם?
+
+1. כתיבת שמות השדות באופן ישיר בכל פעם מועד לטעויות כתיב ושגיאות.
+לעומת זאת, בקריאה לשיטות/מתודות אז פרל תזרוק חריגה בזמן ריצה במקרה
+שהשיטה לא קיימת.
+
+2. אם יש צורך להמיר את השדה משדה לערך מחושב, אז עדיין ניתן להשתמש
+במתודה/שיטה הקיימת כדי לספק גישה אליו, רק על ידי שינוי המימוש שלו.
+
+3. הממשק החיצוני שמסופק על-ידי שיטות/מתודות נקי יותר וקל יותר לתחזוקה
+של תאימות לאחור מאשר גישה ישירה לשדות של העצם.
+
+4. ייתכנו גם סיבות אחרות, כמו מיקבול יותר טוב, התמדה (persistence) וכו.
+
+http://www.shlomifish.org/lecture/Perl/Newbies/lecture5/accessors/cpan-modules.html :
+
+כתיבת אקססורים באופן ישיר ביד דורש קוד כפול רב ועלול להיות מלאה. אף
+שניתן להתגבר על כך על-ידי שימוש במשחקי מרחבי-שמות, ישנם מודולים רבים
+שעושים את זה בשבילך ובקלות:
+
+1. המודול Class-Accessor - אחד הראשונים ועדיין פופולרי. כתוב בפרל טהור
+ואין לו תלויות.
+
+2. המודול Class-XSAccessor - כתוב חלקית בסי וב-XS והוא מהיר מאוד. השיטות
+שהוא מייצר יותר מהירות מכתיבת אקססורים ביד כפי שהראנו.
+
+3. מערכת האובייקטים Moose ־ מקיף מאוד ומספק דברים רבים מלבד אקססורים.
+
+
+