DCSIMG
Learning Validation Application Block With Strippers (Teaser) - Justin myJustin = new Justin( Expriences.Current );

Learning Validation Application Block With Strippers (Teaser)

קדם דבר: למה צריך וולידציה? (או: "קופים. פשוט קופים.")

יש לנו בעיה בתחום התוכנה היום - המשתמש.

ה-End User מתעקש באופן קבוע להשתמש באפליקציות המורכבות להחריד שפיתחנו.
כל הקונספט מאחורי UI הוא מאוד בעייתי. User Interface אמרתם? לחשוף ממשק קלט ופלט למשתמש? זה רק מוביל לצרות.

ברוב התרשימים המשתמש יופיע כאיש קטן עם ראש גדול.
בתחילת שנות ה-2000 נהוג היה לייצג את המשתמש בתרשימי UML אי-אלו בדמות הבאה  image_thumb[11], לקראת שנת 2005 שנינו את הפרספקטיבה ל-image_thumb[10]  והיום בעידן האופיס 2007 המשתמש נראה כך image_thumb[9].

תרשו לי להציג דמות אחרת למשתמש:

image

 כן - קוף, שימפנזה, אורנג-אוטנג, למור וקופיפים באשר הם.

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

 

את המשפט הבא למד על בשרו כל מתכנת, ארכיטקט, ראש צוות ומנהל פרוייקט:

המשתמש טיפש או מניאק

נראה גם שההתפצלות הזאת נכונה.

image_thumb[4]

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

 

הבעיה שלנו היא במילים פשוטות - האפליקציה שלנו מקבלת "קלט" מאנשים לא מושלמים. אנשים שעשויים לטעות, אנשים שעשויים להטעות, אנשים שהם לא המתכנתים של המערכת.

הגולש שמכניס שהכתובת דוא"ל שלו היא "אני שולתתתת!!!!111"הוא הבעיה שלנו

האיש עסקים שמנסה לקבוע פגישה לשעה 25:00 בלילה הוא הבעיה שלנו

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

כדי לפתור את הבעיה הזו כל מתכנת באשר הוא הגיע אינטואטיבית לפתרון הבא:

שלב א':  "נבדוק מה המשתמש נכניס"

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

במהלך מאמר זה נסקור את Validation Application Block של מיקרוסופט שנועד לתת מענה מקיף והולם לבעיות שתיארנו.

 

חלק ראשון: הפתרון הקיים והמצוי ב-Winforms, Console ו-ASP.Net (או: "איך קוראים לך ובת כמה את?")

אנחנו מנהלים מועדון חשפנות.

image_thumb[7]

 

המשך המאמר יפורסם בעתיד הקרוב בבלוג שלי ב-JustinAngel.Net.

אציין כי מדובר במאמר מקיף ומלא שלי, על כל המשתמע מכך ולאחר קריאת המאמר (על עשרות עמודיו) יכיר הקורא את VAB על בוריו.

Comments

No Comments