العنوان |
البرمجة باستخدام ال Interface |
---|---|
المؤلف |
وجدي عصام عبد الرحيم |
كلنا نعرف وجود ال interface في لغات البرمجة مثل Java، C# ولكن لا نعرف متى نستخدمه بطريقة فعالة Effectively ومتى يلعب دور مهم في تصميم المشروع Software Design.
أغلب البرمجيات المبنية جيداً تعتمد على وجود ال Interface فيها، فال Interface يعتبر العمود الأساسي في الكثير من العادات الجيدة في البرمجة Modern Techniques مثل ال Testability، وال Dependency Injection وكثير من ال Design Patterns، وحتى في أساسيات التصميم التي تعرف ب SOLID Design Principles. لذلك فهم ال Interfaces وأين تستخدمه بالشكل الصحيح يعتبر خطوة أولى للمواضيع الأكثر تقدماً في عملية تصميم البرمجيات بالشكل الصحيح وهو الخطوة لكي تصبح مبرمج أكثر دراية بطرق التصميم ومعماريات الأنظمة.
في هذا الكتيب سوف نبدأ الحديث عن ال Interface بدءاً من السؤال الشائع ألا وهو الفرق بينه وال Abstract Class ومن ثم سنتدرج بالحديث عن كيف يساعد ال interface في جعل الكود أكثر قابلية للصيانة Maintainability، وكيف يكون الكود قابل للتطوير بسهولة لإضافة المزيد من الخصائص بدون الحاجة لتغيير الكثير من الكود Extensibility، وكيف تحمل ال Implementations المختلفة وقت التشغيل Dynamic Loading أو ما يعرف ب Late Binding.
بعد ذلك سوف نأخذ مثال يحتوي مجموعه من المفاهيم في تصميم البرمجيات، ابتدئاً بفكرة تقسيم الاهتمامات Separating of Concerns و مروراً بالطبقات في المشروع Larying وكيف يمكن بناء تلك الطبقات مع التفاعل بينهما واستخدام بعض الpatterns الشائعة مثل Domain Model في طبقة ال Business و MVP في طبقة ال Presenter.
العنوان |
البرمجة باستخدام ال Interface |
---|---|
المؤلف |
وجدي عصام عبد الرحيم |