התייעצות ב- MVC באנגולר1
-
אני מקים CRM פשוט.
יש משתמשים. ולכל אחד יכול להיות מודל נוסף, שמכיל פרטים נוספים.
אני מסתפק לגבי ה route.
כשאני בא להקים חשבון חדש אני מנתב ל "user/new".
אבל אני רוצה שאחרי שהמשתמש נוצר, הוא יעבור לדף שבו יוכל להגדיר את המודל השני.
איך לנתב? "user/:id/createProfile" ?
או
"profile/create?userId=xx".
מקווה שהובנתי ותודה. -
@dovid מה זאת אומרת עניין של טעם? זה עניין של ארכיטקטורה. של קריאות הפרוייקט ותחזוקה. זה חלק מהעניין של MVC.
והאמת שזה לא רק עניין הניתוב, אני גם מסתפק האם לעשות קונטרולר נפרד לפרופיל, או להכליל אותו בקונטרולר של ה USER.
זה גם בצד לקוח וגם בצד שרת (במקרה דנן: sails ושות').
מה דעתכם? -
@מנצפך באיזה פלטפורמה אתה כותב?
יש פלטפורמות שבהם זה אותו דבר.
רק טעות קטנה שלי.
את הID באפשרות הראשונה שמים בסוף ולא באמצע. אא"כ תוסיף כלל ניתוב ככה ששניהם יתאימו ואז תשתמש איך שבא לך.הסיבה שבוחרים את
user/:id/createProfile
לדעתי היא בעיקר עניין של ניראות.
הגיעו למסקנה כיום שיש עניין שגם מה שאחרי הכתובת ייראה יפה. ולא רק הכתובת עצמה.
ואולי לזה התכוון @dovid כשכתב ששניהם שקולים -
@מנצפך אמר בהתייעצות ב- MVC באנגולר1:
אני מקים CRM פשוט.
יש משתמשים. ולכל אחד יכול להיות מודל נוסף, שמכיל פרטים נוספים.
אני מסתפק לגבי ה route.
כשאני בא להקים חשבון חדש אני מנתב ל "user/new".
אבל אני רוצה שאחרי שהמשתמש נוצר, הוא יעבור לדף שבו יוכל להגדיר את המודל השני.
איך לנתב? "user/:id/createProfile" ?
או
"profile/create?userId=xx".
מקווה שהובנתי ותודה.השאלה שלך לא קשורה לאנגולר 1 ובוודאי לא לMVC.
יש תקן שנקרא REST שמדבר על הנושא הזה, ואם כבר אז האפשרות הראשונה יותר נכונה לפי REST.
אין שום הבדל מבחינת הקונטרולרים באנגולר כך או כך.
ואגב, אם אתה משתמש בראוטר הרגיל של אנגולר מומלץ מאוד שתעבור לui-router עבור אנגולר 1, הוא נוח יותר ומכיל יותר אפשרויות. -
@מנצפך אמר בהתייעצות ב- MVC באנגולר1:
והאמת שזה לא רק עניין הניתוב, אני גם מסתפק האם לעשות קונטרולר נפרד לפרופיל, או להכליל אותו בקונטרולר של ה USER.
לדעתי רצוי להפריד בין פרופיל (או חשבון) לבין משתמש (שם וסיסמה), כך תוכל בעתיד להעביר פרופיל מיוזר ליוזר, כמו כן תוכל לשייך שני שמות עבור פרופיל אחד וכן הלאה.
-
@zvizvi אתה יכול לתת דוגמא קונקרטית למקרה שבו צריך להעביר פרופיל ממשתמש למשתמש?
לגבי לשייך עוד משתמש על הפרופיל הזה, תמיד אתה יכול לעשות פרופיל מקושר.
מבחינת טבלאות שני המקרים יכולים להיות בזבזניים (בjoin) תלוי מה המקרה היותר סטנדרטי.
ואני עדיין חושב שהיותר סטנדרטי זה ברוב המקרים משתמש אחד מול פרופיל אחד.
וגם במקרה של ריבוי כניסות, (גוגל , פייס, גיט ועוד) תמיד יהיה לך משתמש ראשי ואליו תשייך את שאר המשתמשים.
שהרי תציג בפרופיל את כלל המשתמשים / חיבורים הקשורים לפרופיל זה.ועוד משהו, לפי REST, הID לא אמור להיות בסוף?
-
-
@clickone אמר בהתייעצות ב- MVC באנגולר1:
@מנצפך זה משתמש שאתה עורך?או כל משתמש שעורך את עצמו?
אם זה המשתמש שעורך את עצמו, אתה יכול להשתמש בuser/profile בלי מזהה...זה מה שמסובך פה.
ישנה אפשרות שכל משתמש עורך את עצמו לאחר ביצוע אימות. ואז אני לא צריך את הID. אבל יש גם מצב שהמנהל עורך את הפרופיל.
בקיצור, מורכב. אין קיצורי דרך. -
@clickone אמר בהתייעצות ב- MVC באנגולר1:
ועוד משהו, לפי REST, הID לא אמור להיות בסוף?
לפי REST הID בא אחרי המודל המדובר, כך שיכול בהחלט להיות משהו כמו
model/:id/subject/:id?action
.@dovid אמר בהתייעצות ב- MVC באנגולר1:
REST לא עוסק כ"כ בנושא שלנו, הוא עוסק במוסכמה של פעולות API בשאילתות HTTP כשכל מתודה מתייחסת לפעולה מוסכמת כמו מחיקה הוספה עדכון וכו'.
REST מדבר גם על שיטות קריאה עבור פעולות מוסכמות (CRUD) וגם עבור סגנון אחיד עבור URL של מודל > מזהה > פעולה
-
@מנצפך אמר בהתייעצות ב- MVC באנגולר1:
@zvizvi הפרופיל ייחודי לכל משתמש. אין פרופיל שמתאים לשני משתמשים.
אך לא לכל משתמש יש פרופיל.התכוונתי לומר שאולי בעתיד תרצה דברים מתקדמים יותר שהיום אין לך צורך בהם, לכן תכין את עצמך מראש עבור דברים אופציונאליים, אבל אני מסכים שיש לכך תקורה בביצועים כפי ש @clickone כתב.