DCSIMG
כמה דברים על Dynamic Data Controls - שחר.נט

שחר.נט

בלוגים שאני קורא

ספרים מומלצים

כמה דברים על Dynamic Data Controls

בעקבות איזשהו דיון בפורום תכנות דוט.נט בתפוז, רציתי לכתוב קצת על המחשבות שלי משימוש ב Dynamic Data Controls.
דבר ראשון, למי שלא מכיר, ASP.NET Futures זה סט של כלים "עתידניים" עבור ASP.NET שארוזים בחבילה אחת. Dynamic Data Controls זה אחד מהכלים הללו.

Dynamic Data Controls, בבסיסם, זה סט של controls חדשים, כאשר כל control עונה על איזשהו צורך חוזר בניהול מידע: control שמייצג את הצורך של הוספת מידע, control שמייצג את הצורך להציג רשימה של המידע, control שמייצג את הצורך בהצגת מידע רחב על פריט מסויים וכו'.

הייחוד ב controls הללו, כפי שהם ארוזים פה, זה שלא מדובר ב controls שעונים על הצורך בתצוגה המתאימה לכל סוג (כפי שכבר קיים ב ASP.NET במילא) אלא controls שעונים גם על הצורך בתצוגה (ע"י זה שבסופו של דבר הם יוצרים מאחורי הקלעים את אותם controls שקיימים בASP.NET) ומצד שני עונים על לוגיקה.
הצורה שבה הם עונים על הלוגיקה, מיועדת לחסוך עבודה, ולצמצם אותה למינימום, ל Drag and Drop. את זה הם עושים ע"י הבנת הסכמה של ה DB שנמצא בפרוייקט, בלי צורך בהגדרות מיוחדות ובקבצי סכמה, אלא למעשה תוך הקפדה על איזושהי סמנטיקה. אם אתה רוצה לעבוד מול טבלה מסויימת, צור תיקייה עם השם של הטבלה.
אם אתה רוצה דף שיציג את פרטים על פריט בודד אתה צריך שהוא יהיה בתיקייה ששמה זהה לשם אחת הטבלאות ויקראו לו Details.aspx, גם ל List.aspx יש משמעות משלו, ולמעשה, מאחורי הקלעים נוצרים איזשהם קישורים בין הדפים השונים. בצורה, שבאמת מדגימה עד כמה פיתוח נעשה קל.
למעשה, את הלוגיקה הוא "מבין" מהסמנטיקה.

אחת מהאפשרויות ב Dynamic Data Controls, זה באמצעות הגדרת פרמטר מסויים בקובץ ה web.config, להגיד לו להבין לבד את סכמת כל הטבלאת ולעבוד איתה. ואז, הוא למעשה בזמן ריצה מבין את הסכימה, ויוצר את הדפים הנחוצים כדי לראות רשימת פריטים, להוסיף פריטים וכו'. מדובר בפיצ'ר חביב, אבל שיוצר דפים לא נוחים לעבודה (גם בתור ממשק ניהול), ולא משהו שרצוי לעשות. גם עבודה כשיוצרים תיקייה לכל טבלה, ושמים בה דפים בשמות המתאימים היא מאד קלה, ומפיקה תוצאות הרבה יותר טובות.

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

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

לסיכום, Dynamic Data Controls הם מעולים כאשר יש צורך לבנות אפליקציית WEB פשוטה, כשעיקר הלוגיקה שלה מסתכמת בהבנת הסכמה של הDB - שזה כבר נעשה פה אוטומטית, ובפעולות שונות החוזרות על עצמם שעבורן יש controls.
לכן, זה מתאים בעיקר לבניית ממשקי ניהול, שבאופן טבעי זה מה שהם דורשים, ועם Dynamic Data Controls אפשר לעשות זאת ממש בקלות.
כאשר נדרשת רמה יותר גבוהה של התאמה אישית, למשל בלוגיקה,, לעיתים, יתגלה ש Dynamic Data Controls הם פשוט לא הפיתרון והם למעשה גם לא מתיימרים להיות.
הם מתיימרים להיות הפיתרון לאפליקציות WEB שאמורות להיות מאד פשוטות, ורשימת הדרישות שלהם היא רשימת הדרישות השגרתית כשעובדים עם נתונים.

שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 5 and 1 and type the answer here:


Enter the numbers above: