PDA

View Full Version : سوال: ساخت پروژه به صورت سامانه های جدا



narges_j
یک شنبه 31 اردیبهشت 1396, 14:04 عصر
با سلام

من میخوام هر سامانه از پروژه ام را به صورت جداگانه برنامه نویسی کنم و طبق درخواست مشتری فقط سامانه های که میخواد را بهش بدم...در واقع یک سورس پایه داشته باشم و در این سورس بتونم به سامانه ها وصل بشم.
سامانه ها به هم وابسته هستند...
به چند دلیل میخوام اینکار انجام بدم:
1-حجم سورس پایه کمتر میشه
2- اگر سورس کرک شد همه سامانه ها با هم نیستند.
3- حق دسترسی کاربر کاملا کنترل میشه...یعنی به جای اینکه بیام یک قسمتی از برنامه کنترل کنم که ایا کاربر میتونه سامانه فلان را مشاهده کنه...کلا سامانه را در اختیارش نمیگذارم و هر موقع درخواست کرد سامانه را براش ارسال میکنم.

آیا امکان این کار هست؟چطور باید اینکار را انجام داد؟

با تشکر

alireza_s_84
شنبه 06 خرداد 1396, 13:01 عصر
با سلام

من میخوام هر سامانه از پروژه ام را به صورت جداگانه برنامه نویسی کنم و طبق درخواست مشتری فقط سامانه های که میخواد را بهش بدم...در واقع یک سورس پایه داشته باشم و در این سورس بتونم به سامانه ها وصل بشم.
سامانه ها به هم وابسته هستند...
به چند دلیل میخوام اینکار انجام بدم:
1-حجم سورس پایه کمتر میشه
2- اگر سورس کرک شد همه سامانه ها با هم نیستند.
3- حق دسترسی کاربر کاملا کنترل میشه...یعنی به جای اینکه بیام یک قسمتی از برنامه کنترل کنم که ایا کاربر میتونه سامانه فلان را مشاهده کنه...کلا سامانه را در اختیارش نمیگذارم و هر موقع درخواست کرد سامانه را براش ارسال میکنم.

آیا امکان این کار هست؟چطور باید اینکار را انجام داد؟

با تشکر
سیستم رو بصورت Pluginable طراحی کنید و باید از تزریق وابستگی ها استفاده کنید.
سامانه های شما بصورت یک کامپوننت (Dll) بصورت runtime قابل تزریق به پروژه پایه است. میتونید از سیستم لایسنس مبتنی بر Signed XML استفاده کنید و چک کنید آیا مجوز استفاده از اون کامپوننت رو داره یا نه بعد لود بشه. در این حالت حتی اگه کاربر از سیستم دیگه ای پلاگین رو کپی کنه نمیتونه ازش استفاده کنه.
در کل راه حل خواسته شما اینه. اما در عمل همه چی بستگی به ساختار پروژه شما داره و اینکه به چه شکلی اون رو پیاده سازی کردین.

NasimBamdad
شنبه 06 خرداد 1396, 20:56 عصر
سیستم رو بصورت Pluginable طراحی کنید و باید از تزریق وابستگی ها استفاده کنید.
سامانه های شما بصورت یک کامپوننت (Dll) بصورت runtime قابل تزریق به پروژه پایه است. میتونید از سیستم لایسنس مبتنی بر Signed XML استفاده کنید و چک کنید آیا مجوز استفاده از اون کامپوننت رو داره یا نه بعد لود بشه. در این حالت حتی اگه کاربر از سیستم دیگه ای پلاگین رو کپی کنه نمیتونه ازش استفاده کنه.
در کل راه حل خواسته شما اینه. اما در عمل همه چی بستگی به ساختار پروژه شما داره و اینکه به چه شکلی اون رو پیاده سازی کردین.

بنده هم این موارد رو پیگیری کردم ، اما به نتیجه نرسیدم . توضیحات بیشتری ،آموزشی ، نمونه ای چیزی موجود هست ؟ Sample . ؟؟؟

rahmatipoor
شنبه 08 اردیبهشت 1397, 09:32 صبح
بنده هم این موارد رو پیگیری کردم ، اما به نتیجه نرسیدم . توضیحات بیشتری ،آموزشی ، نمونه ای چیزی موجود هست ؟ Sample . ؟؟؟

من هم نیاز دارم

رامین مرادی
شنبه 08 اردیبهشت 1397, 10:10 صبح
نمونه ش میتونه برنامه فاکتور محسن باشه. که منم خیلی پیگیرش بودم. اما همش جوابهایی که رسیدم در حد اسم بردن از یه واژه خاص بود. ولی در عمل هیچ جا نمونه ای پیدا نکردم که بشه ازش یادگرفت و الگو برداری کرد.

Helpco
شنبه 08 اردیبهشت 1397, 10:50 صبح
من این کار قبلان انجام دادم باید بگردم ببینم سورس برنامه را پیدا میکنم یا نه مثلا برنامه حسابداری مزخرف پارسیان که مهندس همیش داخل سورس هم همین طور

rahmatipoor
یک شنبه 09 اردیبهشت 1397, 09:50 صبح
کسی از دوستان این کار رو انجام نداده