This is a mirror of official site: http://jasper-net.blogspot.com/

מה זה DEPENDENCY PROPERTY ?!?

| Sunday, October 24, 2010
 Dependency Property הוא דוגמא לנושא שכולם מתעסקים איתו ועובדים איתו אבל לא כך כך מבינים איך הוא עובד או מה הקטע שלו..

Dependency property הוא Property מתקדם שבמצבים מסוימים בא להחליף את ה Property הפשוט שאנחנו רגילים אליו.

מה הרעיון של Property רגיל ?

Property רגיל בא לשמש בצורה פשוטה את עיקרון ה Encapsulation.

העיקרון מנחה אותנו לא להגדיר בכלל שדות כ Public אלא אך ורק כ Private ולכן אנחנו צריכים Property על מנת לחשוף את השדות הזה החוצה כדי לקבל את ערך המשתנה או לבצע השמה של ערך אל המשתנה.

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

מה קרה ל Property במהלך השנים?

ככל שעובר הזמן הבינו שיש יותר כוח ב Property ממימוש עיקרון Encapsulation:

  • Validation – אם יש קוד שפועל כל פעם שעושים השמה למשתנה ניתן לבצע במיקום זה (Set Section) בדיקות וולידציה ולזרוק שגיאות בהתאם.
  • NotifyPropertyChanged – אחד העקרונות המשמעותיים שנכנסו לעולם התכנות בשנים האחרונות הוא הDataBinding, על מנת להשתמש ב DataBinding בצורה נכונה על המחלקה לדווח על כל שינוי שחל בה. באותו Section של ה Set ניתן לזרוק Event שמודיע על השינוי (לפרטים נוספים : http://msdn.microsoft.com/en-us/library/ms229614.aspx)
Default value - בפיתוח ב WinForms יכול להיות לנו מסך שמכיל 40 תיבות טקסט. כל תיבות הטקסט במסך הם בדיוק באותו גודל ועדיין יהיה לנו בזיכרון 40 אובייקטים מסוג size. המאפיין  של הגודל  הוא רק דוגמא אחת. יש לא מעט מאפיינים כאלה שאנחנו לא נוגעים בערך שלהם ועדיין הם קיימים עבור כל אובייקט בנפרד בזיכרון.

Read more: SHIMON DAHAN

Posted via email from .NET Info

0 comments: