29-01-2010, 03:38 AM
السلام عليكم
مرفق مثال لبرنامج مقسم إلى عدة طبقات أو واجهات.
المثال مبني على مشروع برنامج المحادثة، الذي نحن بصدده، وقد تم تقسيمه كالتالي:
طبقة العرض Presentation و المتمثلة في واجهات الشاشة Forms ،
وهي مسئولة فقط عن استقبال المدخدلات من المستخدم و عرض البيانات له. مثال لها نموذج frmChatServer .
طبقة التطبيق Application و هو مسئول عن قيود ومنطقيات البرنامج Business Rules
وهو عادة الحلقة الرئيسية التي تربط بين مكونات البرنامج، و يمثلها في مثالنا هذا وحدة : uAppManager .
طبقة الشبكات أو الاتصال، وهي مسئولة عن كل ماله علاقة بالاتصالات في البرنامج وقد تم
التعبير عنها في الوحدة: uNetManager . ولأنني افترضت احتمال استخدام أكثر من تقنية
في الاتصال أو تغييرها مستقبلا فإن هذه الوحدة تحوي فقط الاستدعاءات العامة الخاصة
بالاتصال، أما التفصيلات الفنية الخاصة بالتعامل مع كل تقنية؛ فيتم تفويضها لوحدات خاصة
بها، و في مثالنا هذا ستكون الوحدة: uNet_INDY مختصة باستخدام مكونات Indy بينما
الوحدة: uNet_Socket تختص باستخدام مكونات Internet التي تأتي مع دلفي. ومع كل تقنية
إضافية أو باقة أخرى من مكونات الاتصال يفرد لها وحدة خاصة بها.
لم أتطرق لقواعد البيانات في هذا المثال، ولكن تنفيذها سيكون على نفس منوال طبقة الاتصال.
**** أن يكون هذا واضحا لشرح الفكرة.
مرفق مثال لبرنامج مقسم إلى عدة طبقات أو واجهات.
المثال مبني على مشروع برنامج المحادثة، الذي نحن بصدده، وقد تم تقسيمه كالتالي:
طبقة العرض Presentation و المتمثلة في واجهات الشاشة Forms ،
وهي مسئولة فقط عن استقبال المدخدلات من المستخدم و عرض البيانات له. مثال لها نموذج frmChatServer .
طبقة التطبيق Application و هو مسئول عن قيود ومنطقيات البرنامج Business Rules
وهو عادة الحلقة الرئيسية التي تربط بين مكونات البرنامج، و يمثلها في مثالنا هذا وحدة : uAppManager .
طبقة الشبكات أو الاتصال، وهي مسئولة عن كل ماله علاقة بالاتصالات في البرنامج وقد تم
التعبير عنها في الوحدة: uNetManager . ولأنني افترضت احتمال استخدام أكثر من تقنية
في الاتصال أو تغييرها مستقبلا فإن هذه الوحدة تحوي فقط الاستدعاءات العامة الخاصة
بالاتصال، أما التفصيلات الفنية الخاصة بالتعامل مع كل تقنية؛ فيتم تفويضها لوحدات خاصة
بها، و في مثالنا هذا ستكون الوحدة: uNet_INDY مختصة باستخدام مكونات Indy بينما
الوحدة: uNet_Socket تختص باستخدام مكونات Internet التي تأتي مع دلفي. ومع كل تقنية
إضافية أو باقة أخرى من مكونات الاتصال يفرد لها وحدة خاصة بها.
لم أتطرق لقواعد البيانات في هذا المثال، ولكن تنفيذها سيكون على نفس منوال طبقة الاتصال.
**** أن يكون هذا واضحا لشرح الفكرة.

