מבנה solution של WPF MVVM

C s h a r p

New member
מבנה solution של WPF MVVM

היי, אני מתלבט בין 2 אפשרויות למבנה של ה-solution שלי:
1) פרוייקט של UI שמכיל את כל ה-views ופרוייקט של ViewModels- שמכיל את כל ה-viewmodels
2) חלוקה לפרוייקטים לפי נושאים (מודולים) כאשר כל פרוייקט כולל בתוכו תיקיה של views ותיקיה של viewmodels. (מדובר רק בחלוקה ולא בשימוש אמיתי בתשתית של PRISM או משהו)

האפשרות הראשונה תגרום לכל המתכנתים בצוות לעבוד על אותו DLL באופן קצת תלותי אחד בשני.
האפשרות השניה גורמת לי עכשיו להתעסק עם מספר פרוייקטים שאני לא בטוח שאני מבין מה הצריך להיות הreferences בינהם, מה עושים כאשר יש ViewModel למשל שיכול להופיע בכמה מודולים ?

אשמח לשמוע את דעתכם ואיך מחליטים

אשמח לשמוע בעד ונגד בקשר לזה.
 
קבל כלל זהב שינחה אותך ככוכב הצפון

כמה שפחות פרוייקטים יותר טוב.
סיבות טובות לפרק ל״פרוייקטים״:
1. אתה צריך לשתף קוד בין אפליקציות שונות.
2. חלקים שונים של הקוד שלך צריכים קומפילציה שונה.
3. יש לך פרוייקט UnitTest שאתה רוצה להריץ כחלק מה build.

סיבות גרועות: כל מה שלא נכלל בסעיפים לעיל.

בלי לדעת כלום על MVC, אני קובע שהאופציה הראשונה היא הנכונה.
בהצלחה.
 

dotnet2

New member


 

כלליים

New member
האפשרות הראשונה

וזה אפילו מומלץ.
הנה עוד סיבה להפרדה, מלבד הרשימה של טרול:
4. אכיפה של הפרדת שכבות. לדוגמא: באפליקצות MVVM, קל ליפול בפח ולא להפריד את השכבות כראוי. הפרדת הView מהViewModel מבטיחה את ההפרדה.

נניח שאתה בונה מערכת דוחות, אני מציע מבנה כזה:
1. פרוייקט בשם MySystem.Model
2. פרוייקט בשם MySystem.ViewModel
3. פרוייקט בשם MySystem, שבו יש את התיקיות הבאות:
  • Views
  • Skins
  • ServiceImplements
  • Behaviours
  • וכו'
 
למעלה