PDA

View Full Version : حرفه ای: نحوه ساخت ماژول قبل نصب و حذف در یک cms



micro_bhk
شنبه 18 آذر 1391, 10:47 صبح
با سلام
می خواستم یه cms درست کنم، طوری که ماژول هاش قایل نصب و حذف (ماژولار) باشه.
سرچ کردم، ولی چیز خوبی گیرم نیومد، دوستانی که تو این زمینه کار کردن، لطفا یه توضیح مختصری در مورد این سیستم بدن و ممنون میشم که اگر مثال یا لینکی که بتونه کمک کنه رو قرار بدن.

با تشکر

mehrbani
شنبه 18 آذر 1391, 17:11 عصر
با سلام
اگر قصد دارید اضافه کردن پلاگین رو بدون کامپایل مجدد انجام بدین باید از Reflection و Assembly Loading استفاده کنین.
همین طور از http://mef.codeplex.com/ هم می تونین کمک بگیرین.

به دلیل پیچیدگی این نوع نرم افزار ها ، بهتره سورس های یه نمونه عملی - مثل DNN - رو مرور کنین.

با تشکر

sanay_esh
شنبه 18 آذر 1391, 18:21 عصر
با سلام خدمت شما

شما باید ایده یک سیستم ماژولار را تصور کنید مثل سیستم جوملا یا دات نت نیوک یا هر سیستم ماژولار

بدین صورت که مثلا هر کدام از ماژولهای نوشته شده در سیستم باید از یک قانون نصب و حذف برخوردار باشند و شاید امکانات جانبی هم برای نصب و حذف ماژولهای خاص در نظر گرفته باشید

از طرفی سیستم باید مبنایی برای پذیرش این ماژولهای نوشته و توسعه یافته توسط شما را داشته باشد ...

جالبترین مسئله اینجاست که سیستم هایی که توسط شرکتهای بزرگ نوشته میشوند حتی ابتدایی ترین مشکلات هم در آن دیده میشود .. اما برای اینکه سیستم ماژولار خوبی بتونی بنویسی باید مانند اینها را مطالعه و بررسی بکنی

بهترین CMS ها توسط افراد نخبه و توانا نوشته میشوند .. بدون شک کمی تفکر در سیستم ماژولار میتونه به شما خیلی کمک کنه

بنده برخی از موارد مهم یک سیستم ماژولار را برای شما لیست میکنم :


سیستم باید یک هسته داشته باشد که بتواند ماژولهای خود را مدیریت کند
(بدین صورت که جداول ماژول و ... که برای هسته حیاتی هستند در خود هسته جای میگیرند)
تمامی ماژول ها باید یک شناسنامه برای نصب داشته باشد که میتوانید حتی برای تهیه این شناسنامه هم یک کلاس تهیه شناسنامه (تنظیمات ماژول ) بنویسید (در قالب یک فایل xml ) مانند همه سیستمهای CMS
بخشی برای مدیریت نصب و حذف و مکانهایی که ماژول باید در آنها جای گیرد این بخش یکی از بخشهای مهم هسته میباشد ...
حتما در بسته ماژول باید جداول مورد نیاز ماژول هنگام نصب بصورت اتوماتیک در بانک اطلاعاتی ایجاد شوند.
و ...هر چیزی که نیاز دارید