05-08-13, 10:02 PM
الشاكي لله كتب :عندي بس ملاحظة بسيطة جدا تخلي كود addinManager اكثر احترافية
فاستعمال overrideable ليس مثاليا جدا
فاستعمال Interface هي الافضل لهذه الامور
بدل
PHP كود :
public class AddIn
{
public AddIn()
{
OnCreateAddIn();
}
protected virtual void OnCreateAddIn()
{
//اذا كنت تريد كتابة اى كود يستدعى فى ال Sub New
}
protected virtual void OnCreateMenuStrip(object menuStrip)
{
//اذا كان برنامجك يحتوى على
//MenuStrip
//وتريد اضافة عنصر له
}
protected virtual void OnCreateToolStrip(object toolStrip)
{
//اذا كان برنامجك يحتوى على
//ToolStrip
//وتريد اضافة عنصر له
}
protected virtual void OnCreateMainForm(object form)
{
//الفورم الرئيسى فى برنامجك
}
}
ضع
PHP كود :
public class AddIn
{
protected interface IAddInManger
{
void OnCreateAddIn();
void OnCreateMenuStrip(object menuStrip);
void OnCreateToolStrip(object toolStrip);
void OnCreateMainForm(object form);
}
}
ثم اشتق الinterface في الاضافة واعمل implement
--
كما قلت هذا لايعني ان طريقتك سيئة
هذا فقط اذا كنت تريد زيادة احترافية كودك وتسهيل برمجة الاضافة للمبرمجين الاخرين فأستعمال interface مخصص اكثر لمثل هذه الحالات
تحياتي
إقتباس :طبعا كما قال الأخ الشاكي لله، إستخدام Interface هو الأمثل ، ولكن إعداد هذا المثال مربك
إقتباس :انا اعرف ال Interface جيدا وبالفعل اضفت Interface ولكنى لااعرف لماذا حذفته واستخدمت هذه الطريقه
كانت افكارى مشوشة بعض الشئ
تم تعديل الموضوع
