DCSIMG
January 2010 - Posts - Avi Pinto

Avi Pinto

על הבלוג

Follow uberPinto on Twitter

View Avi Pinto's profile on LinkedIn

Subscribe in a reader Subscribe by Email

 


Two new sculptures

View my Air Brush Work at Avipinto.com

Helping a friend, great tool for fixing file names

JavaScript Tutorial


Disclaimer All postings/content on this blog are licensed under a Creative Commons Attribution By license and provided "AS IS" with no warranties, and confer no rights.
All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer or sponsors.

January 2010 - Posts

How to change ASP.NET MVC 2 default folder structure in Visual studio 2010 Beta 2

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

ב web Forms היינו יוצרים שתי ספריות ומתחת לכל ספריה היו נמצאים הקבצים הרלוונטים אליה.
ב MVC 2 התווסף הפיצ'ר Areas, או יותר נכון single-project area (בגרסא הסופית של MVC 2 לא ישוחרר הפיצ'ר של פיזור areas בפרוייקטים שונים, אבל מי צריך את זה בכלל)-
     הכוונה - הוספת ספריה בשם Areas ב root של הפרוייקט,
                ומתחתיה יש ספריה לכל area - בעצם ספריה שמכילה את ה controllers ו views עבור אותו area
                מאוד נח לחלוקת הפרוייקט, מה גם שיכול להיות לכם controller בשם זהה בשני איזורים שונים(שכמובן יעשה פעולות שונות)
הסבר על areas אפשר לראות בהרצאה מ PDC2009 בשם Microsoft ASP.NET MVC 2: The New Stuff בערך מדקה 12

בצורה מפתיעה, ב 2 visual studio 2010 beta לא קיים התפריט של הוספת area (חבל שהבחור מה PDC לא ציין זאת, ותודה לנעם קינג שהעלה את הנקודה הזו בפניי והפנה אותי לכאן)
קצת מתסכל שבכל חיפוש כמעט הגעתי אל הפוסט של Phil Haack, שמסביר איך לממש areas אבל גם מציין בראשית הפוסט ש "Single project areas are a core part of ASP.NET MVC 2"

איזו התרגשות,יש תמיכה, ויהיו תפריטים בגרסה של visual studio שתצא בפבואר, אבל איך בונים את זה עכשיו??
חיפושים העלו את ההסבר הבא Walkthrough: Organizing an ASP.NET MVC Application using Functional Areas ששוב מראה שימוש בכלים, שכרגע קיימים רק עבור visual studio 2008 מול asp.net mvc 2 rc, אבל יש שם פרוייקט דוגמא :-).
1. תורידו את פרוייקט הדוגמא.
2. צרו בפרוייקט שלכם מבנה ספריות דומה למבנה שיש שם תחת ספרית areas,
    ואל תשכחו להעתיק את קובץ הרישום AreaRegistration.cs בכל אחד מהאיזורים שלכם.
3. עכשיו שנו את שמות האיזורים בקובץ הרישום,
    ואל תשכחו לשנות את ה  namespace (שימו לב שה namespace צריך להכיל .Areas. בשביל שיעבוד).
4. תוסיפו AreaRegistration.RegisterAllAreas(); בפונקציה RegisterRoutes  שב global.asax מיד אחרי ה IgnoreRoute.

סיימנו Happy Happy Joy Joy

הסיבה להיצמדות לקונבנציות האלה קשורה למציאת ה views ע"י ה view engine הדיפולטי של asp.net MVC
יכולנו לכתוב View Engine משלנו ואז לבנות את הפרוייקט באיזו צורה שנרצה (המיקום של ה controller-ים פחות משנה, הם בכל מקרה יזוהו)
אבל אני מעדיף להיצמד לקונבנציה במקרה זה.

הסבר קצרצר באנגלית אפשר למצוא בתשובה שלי ב stackoverflow ועוד הסברים על פתרון בעיות בפוסט הבא


מקווה שזה עוזר למישהו


Refactoring Principles & Web on the next WDC - 24.1.2010

חבר'ה, החודש אורי לביא, חבר קרוב ומקצוען אמיתי, מעביר הרצאה על refactoring עם אוריאנטציה ל WEB,
בזמנו כבר יצא לי להיות נוכח בהרצאה כללית יותר על refactoring שהוא העביר, והיה מצויין.

לא תראו בהרצאה את רק את תפריטי refactoring של visualstudio אלא תהליך מחשבתי מובנה, שבסופו מתקבל קוד יותר נקי וברור - פשוט תענוג.

להרשמה לאירוע: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439188&culture=he-IL

לאור הגידול במצבת כח האדם המשפחתית שלי :-) , אני לא בטוח שאצליח להגיע, אבל בהחלט אעשה מאמץ.