PDA

View Full Version : سوال: وقتی پروژه خیلی حجیم میشه چکار باید کرد؟



neda_dela
شنبه 10 بهمن 1388, 12:16 عصر
من دارم روی یه پروژه کار می کنم که خیلی بزرگه و شامل چند بخش میشه الان یه بخشش رو تموم کردم و همون یه بخش تقریبا با احتساب crystal report ها شده 40 تا فرم :گیج:
حالا بقیه قسمت ها هم احتمالا به همین منوال باشه باید چکار کنم ؟
یه تعدا از دوستان قبلا گفته بودن باید از dll ها استفاده کنم :متفکر:
چطوری میشه از این دی ال ال ها استفاده کرد؟:لبخندساده: مرسی

csharpprogramer88
شنبه 10 بهمن 1388, 12:41 عصر
اگر منظورت اينه كه پروژه كمي مرتب تر بشود من هم همين مشكل را داشتم كه به ياري دوستان متوجه پديده اي بنام dotnetbar شدم كه ظاهر برنامه را زيبا و شبيه oFFice2007 مي كنه حالا بايد اونو دانلود بكني و بعد از اون استفاده بكني طريقه استفاده :
راست كليك روي toolbar و انتخاب choose items و از اونجا روي brows كليك كن و مسير بده بعد dll به ابزارهات اضافه مي شه و مي توني مثل تكست باكس و ... از آن استفاده كني خيلي هم جالبه .

به اين تاپيك هم سر بزن http://barnamenevis.org/forum/showthread.php?t=200129

موفق باشي دوست من

razavi_university
شنبه 10 بهمن 1388, 13:48 عصر
در قالب یک Solution می توانید چندین پروژه تعریف کنید و در هر پروژه هم قسمتهای مختلف را با فولدر از همدیگر جدا کنید.
در این حالت با تعداد بالایی از کلاسها و فرمها و ... دیگر گیج کننده نخواهد بود

موفق باشید

neda_dela
شنبه 10 بهمن 1388, 14:50 عصر
در قالب یک Solution می توانید چندین پروژه تعریف کنید و در هر پروژه هم قسمتهای مختلف را با فولدر از همدیگر جدا کنید.
در این حالت با تعداد بالایی از کلاسها و فرمها و ... دیگر گیج کننده نخواهد بود

موفق باشید
متشکرم میشه یه کم دقیق تر توضیح بدین
من میخام از طریق فرم اصلی به بخش های مختلف پروژه دسترسی داشته باشم الان هم فرم اصلی و هم بقیه فرم های مربوط به بخش اول پروژه داخل سلوشن اصلی پروزه هستن.
حالا می خام بقیه فرم های مربوط به بخش دوم توی یه به قول شما فولدر دیگه قرار بدم .
لطفا بیشتر راهنمایی کنید منظورم نحوه ساختش هست. مرسی

razavi_university
شنبه 10 بهمن 1388, 15:36 عصر
فولدر هیچ تغییر خاصی در برنامه نویسی شما نمی دهد(به جز اضافه شدن نام آن بعد از نام NameSpace برای صدا زدن آن فرم یا کلاس)، صرفا در Solution Explorer کلیک راست کنید و New folder را انتخاب کرده و فرم ها و کلاسها را طبقه بندی کنید

برای ایجاد پروژه جدید در منوی File گزینه Add / Project را بزنید، البته ارتباط بین پروژه ها کمی متفاوت است

http://www.freeimagehosting.net/uploads/0aa5b73d5f.png

FirstLine
شنبه 10 بهمن 1388, 17:41 عصر
برای ایجاد پروژه جدید در منوی File گزینه Add / Project را بزنید، البته ارتباط بین پروژه ها کمی متفاوت است


با سلام
من یک پروژه Class Library C# به پروژه اصلی برنامه اضافه کرده ام در این پروژه یک فایل class1.cs وجود دارد که حاوی یک سری کلاس و تابع است و بصورت public تعریف شده است. تابع public string MH_Compress_String(string StringForCompress) نیز یکی از توابع این مجموعه است.
پروژه اصلی نیز دارای یک فرم است و name space ان با namespace پروژه کلاسها (پروژه اولیه) متفاوت است.
در رویداد لوود شدن فرم پروژه اصلی چجوری میتونم ایت تابع را صدا بزنم؟
لطفا راهنمایی بفرمایید.
با تشکر

sia_2007
شنبه 10 بهمن 1388, 23:42 عصر
فکر میکنم این به دردت بخوره

http://cid-d4aee6120707bb13.skydrive.live.com/self.aspx/.Public/Final.zip

neda_dela
یک شنبه 11 بهمن 1388, 18:24 عصر
فولدر هیچ تغییر خاصی در برنامه نویسی شما نمی دهد(به جز اضافه شدن نام آن بعد از نام NameSpace برای صدا زدن آن فرم یا کلاس)، صرفا در Solution Explorer کلیک راست کنید و New folder را انتخاب کرده و فرم ها و کلاسها را طبقه بندی کنید

برای ایجاد پروژه جدید در منوی File گزینه Add / Project را بزنید، البته ارتباط بین پروژه ها کمی متفاوت است

http://www.freeimagehosting.net/uploads/0aa5b73d5f.png
مرسی ولی یه سوال فنی:
اصلا این کار در حجم برنامه تاثیری داره؟ یعنی می خام بدونم با توجه به اینکه فرم های پروژه من زیادن این کار حجم برنامه رو کم می کنه یا نه توفیری نمی کنه؟

sia_2007
یک شنبه 11 بهمن 1388, 22:48 عصر
بله ؛ متاسفانه یا خوشبختانه 2010 هستش
ببین دوست من هدف اینه که دو روز دیگه اگه این سیستم نیاز به رشد داشت؛ یا عیب یابی ؛ شما که کد اون رو یادتون رفته ؛ راحت تر بتونید دوباره روی پروژه تون سوار بشید ؛ نگه این که محکم بزنید رو پیشونیتون.
ظاهر فرم که ظاهر فرم هستش ؛ کد پشت فرم هست که میشه کم و زیاد و خوب و بدش کرد.
ببینید ؛ اگر فرض مثال DBOperation من عالی بود ؛ دیگه لازم نیست دوباره اون رو تو پروژه بنویسم.
و سایر فایلها ؛ مثلا تقریبا کل Exception Layer
موفق باشی

razavi_university
دوشنبه 12 بهمن 1388, 07:41 صبح
مرسی ولی یه سوال فنی:
اصلا این کار در حجم برنامه تاثیری داره؟ یعنی می خام بدونم با توجه به اینکه فرم های پروژه من زیادن این کار حجم برنامه رو کم می کنه یا نه توفیری نمی کنه؟

نه تاثیر زیادی در حجم کد و برنامه نداره ولی مزایای زیادی داره مثلا باعث reuse یا استفاده مجدد ار کدها میشه نظم و ساختار حرفه ای به کارتوت میده، توصیه ماکروسافت هم بر این روش است.
با اینکار شما می تونین برنامه تون رو به چند پروژه جدا تقسیم کنید و سرعت کار روی ان و کامپایل را نیز بهبود بخشید

sia_2007
سه شنبه 13 بهمن 1388, 23:17 عصر
دوست عزیز ؛ چه برنامه ای که 1000 فرم دارد و چه برنامه ای که یک فرم داشته باشد ؛ در ابتدای اجرای برنامه هر دو به یک مقدار در رم جا میگیرند.
چرا ؟
JIT مخفف اینهاست :

Just In Time

مهم نیست شما چند تا فرم دارین ؛ مهم اینه که فقط وقتی باز بشوند ؛ درون رم جا میگیرند ؛ و وقتی بسته شوند ؛ پس از مدتی از رم نیز حذف میشوند.
البته مدیریت پاکسازی رم با GC یا Garbage Collector هستش.
JIT اوج هنر معماری Net. است.
خب یه آدم چند تا فرم رو میتونه با هم باز نگه داره ؟
اگه خواست که بی جهت باز کنه و نبنده هم دیگه گردن خودشه.
تا حالا شده به این فکر کنید که چرا میشه تو Mozilla Firefox ؛ چند ده Tab رو با هم باز نگه داشت ؟
به این خاطره :

Firefox 3.5.7 .NET CLR 4.0.20506

موفق باشی

razavi_university
چهارشنبه 14 بهمن 1388, 08:40 صبح
البته مطمئنا در هنگام طراحی و کد نویسی به مشکل بر می خورید، یکم سرعت کامپایل و ... پایین میاد که اون هم راه حل داره

razavi_university
پنج شنبه 15 بهمن 1388, 07:54 صبح
Performance Improvement Tip for Large Projects in Visual Studio (http://pagebrooks.com/archive/2009/10/24/performance-improvement-tip-for-large-projects-in-visual-studio.aspx)

How do I speed up visual studio with a large number of projects? (http://stackoverflow.com/questions/242318/how-do-i-speed-up-visual-studio-with-a-large-number-of-projects)

Visual Studio Optimizations (http://stackoverflow.com/questions/8440/visual-studio-optimizations)

Very slow compile times on Visual Studio (http://geekswithblogs.net/Ahmed_Hussein_blog/archive/2007/11/12/116791.aspx)


موفق باشید