PDA

View Full Version : آموزش: تکه تکه کردن برنامه در چند dll در دو دقیقه



aliagamon
شنبه 12 مرداد 1392, 16:01 عصر
سلام دوستان ،
من در این چند روز اخیر دیدم که خیلی ها با دی ال ال ها مشکل دارند و مخصوصا تو تاپیکی که در مورد اپدیت دستی بود خیلی ها با تقسیم کردن برنامه به dll برای کم شدن حجم مورد نیاز در اپدیت مشکل داشتند...
من هم تصمیم گرفتم که یک اموزش در این مورد درست کنم و روی سایت قرار بدهم ....
البته این کار زیاد سخت نیست فقط کافیه که کلاس ها و توابع خود را به چند dll انتقال دهید و ان ها را از فایل های dll فراخوانی کنید اینطوری هم برنامه روان تر اجرا میشه و هم در صورتی که شما قسمتی از یک dll را بروزرسانی کنید لازم نیست کاربر دوباره کل برنامه را دانلود کند و بروز رسانی کند...
<<ویدئو اموزشی با زمان دو دقیقه در این مورد درست کردم که راحت تر مراحت کار را بفهمید در ضمیمه دانلود کنید>>
برای این کار ابتدا یک پروژه به صورت ClassLibrary میسازیم
اکنون تنها کاری که لازم است بکنید این است که کلاسی که از قبل در برنامه خود نوشه اید به اینحا منتقل کنید همین....سپس کلاس را build کنید اکنون به برنامه اصلی خود برگردید و از بخش add reference و از داخل تب browse فایل dll ساخته شده توسط خودتان را ادد کنید
اکنون به صورت زیر dll خود را یوز کنید:

using ClassLibrary1;

در خط بالا ClassLibrary1 نام namesppace کلاس شماست
همین...تموم شد الان میتوانید از کلاستو همچون یک کلاس معمولی استفاده کنید:لبخند::تشویق:
ببخشید خیلی سریع توضیح دادم اخه چیزه خاصی هم نداره بگم در هر صورت مشکلی بود در خدمتم
ببخشید ضمیمه مشکلی داشت یه جا دیگه اپلود کردم بعدا ضمیمه میکنم (http://uplod.ir/otl355gtb23m/how_make_dll.zip.htm)

webtracker
شنبه 12 مرداد 1392, 16:20 عصر
دستتون درد نکنه بهتر اول معماری درستی استفاده بشه

hojjatshariffam
شنبه 12 مرداد 1392, 17:31 عصر
درسته بعصی وقتا تو کامپوننت نویسی فایل های dll متشکل از چندین کلاس را در یک پروژه ویژوال استودیوی جدا و یا حتی ممکنه یه شخص دیگه درست کنه و به ما بده
ولی اصولش اینه که ما در یک سلوشن، برناممونو به چندین پروژه تقسیم کنیم
مثال می زنم

فرضا لایه دیتا اکسس برنامه رو در همون سولوشن در قالب یک پروژه از نوع کلاس لایبرری ایجاد می کنیم
لایه BLL رو در یک پروژه جدا
لایه منیجمنت رو در یک پروژه جدا
و لایه یوزر اینترفیس رو در قالب یک پروژه ویندوز اپلیکشن جدا
حالا در پروژه دیتا اکسس کلاس لایه BLL رو یوزینگ می کنیم
در لایه منیجر کلاس های لایه دیتا اکسس و BLL
در لایه فرم ها و کاربری ... کلاس های منیحجر و BLL رو یوزینگ می کنیم
ممکنه مثلا یه پروژه دیگه به عنوان مثلا ApplicationServices هم داشته باشیم و یوزر کنترل های پرکاربرد رو هم تو اون بریزیم . اون باید یوزینگ کنیم

hojjatshariffam
دوشنبه 14 مرداد 1392, 16:06 عصر
این تصویر نمونه ای از استفاده از کلاسهای جدا شده پروژه است (استفاده از dll های قسمت های برنامه)

108582

اینم از پوشه دیباگ

108581

همونطور که می بینید لایه ها بصورت dll همراه پروژه هستند هر کلاسی رو می تونید (یا بهتر بگم هر چند تا کلاس رو) به شکل یک class Library در بیارید و همراه پروژه باشه
اینطوری می تونید براشون ورژن بدین