السلام عليكم!
mvc رائع ومريح ومرن لكن للأسف لا يناسب مشروعي ولا اعرف ماهو النمط المناسب لمشروعي.
لنقل عندي dashborad وفيها الكثير من المميزات (features) مثلاً:
ادارة المستخدمين. اضافة وتعديل وحذف.
ادارة المنشورات. اضافة وتعديل وحذف.
ادارة التعليقات. اضافة وتعديل وحذف.
ادارة المدراء. اضافة وتعديل وحذف.
وهكذا.. من ميزات اخرى.
ثم طلب العميل رقم 1 ال dashborad بجميع مميزاتها
اما العميل رقم 2 فطلب ميزة واحدة فقط وهي "ادارة المستخدمين"
والعميل رقم 3 طيب ميزتان هما ال "ادارة المدراء" و "ادارة المستخدمين"
ثم اتى العميل رقم 4 وطلب كل الميزات مع ميزة اضافية غير موجدودة.
في هذا السيناريو لو استخدمت mvc فعلي ان احذف او اضيف الملفات الملفات يدوياً من ال controllers, models and views ومن ال js, css and images وكل ما يتعلق بالميزة المختارة وبالطبع هذا ليس حلاًَ عملياً.
فسؤالي هنا هل يوجد نمط ما يتيح لي فقط اضافة او حذف مجلد الميزة في المشروع ويتم تفعيلها او حذفها تلقائياً؟
بما معناه ان تكون المميزات مقسمة في مجلدات منفصلة عن بعضها.
علما استطيع ان ابني هكذا نمط لكن ابحث عن شيء عالمي ومعروف مثل نمط mvc لأتباعه.
شكراً
التعليقات
هل كل العملاء يستعملون نفس ال dashboard و نفس المشروع ؟
ام كل عميل له المشروع الخاص به في المكان الخاص به ؟
يتم نسخ المشروع لكل عميل على سرفرات الشركة.
العميل لا يحصل على الكود فقط على رابط للأداة (dashboard )
لماذا تنسخ المشروع لكل عميل ؟ يمكنك صناعة مشروع واحد يستعمله الكل ؟
على العموم اذا تنسخ المشروع لكل عميل فأفضل شيء هو البقاء على طريقتك، نسخ الكود من نسخة ماستر بها كل الخواص و مسح الزوائد (او إخفائها) من نسخ العملاء.
مثلا بحساب العميل تضع scopes و به تحدد الميزات و بالبرنامج تقوم بإخفاء و إضهار المميزات حسب السكوب، اذا العميل لا يحصل على الكود، اذا لا مشكله في الإخفاء