مسار قراءة

هندسة برمجيات

يغطي مراحل تطوير المشاريع، منهجيات التطوير الحديثة بالاضافة الى الأدوات المستخدمة

هندسة برمجيات

عمل ال Repository Pattern باستخدام ال Interface

هذه المقالة ستبين كيف يمكن أن تستخدم ال Interface في جعل الكود قابل للتطوير بسهولة Extensibility، وسوف نأخذ مثال على ال Repository Pattern. في هذه السلسلة سوف نوضح ما يلي: * الفرق بين ال Abstract Class وال Interface * دور

أكمل القراءة ←
هندسة برمجيات

دور ال Interface في قابلية الصيانة Maintainability

واحدة من أهم الأسباب في استخدام ال Interface هو أنه يساعد في جعل الكود أكثر قابلية للصيانة Maintainability، أي الكود المرن في التغيير وليس الذي يحتاج تغييره كاملاً بسبب تغيير بسيط، وبالتالي يضمن هذا الأمر أن الكود يعمل

أكمل القراءة ←
هندسة برمجيات

ما هو الفرق بين ال Abstract class وال Interface في البرمجة؟

استخدام ال Interface وال Abstract Class يضيفان طبقة من ال Abstraction في الكود، والفروقات التي بينهم هي التي تحدد أي Abstraction سوف تفضلها للمشكلة التي تريد حلها. في هذه السلسلة سوف نوضح ما يلي: * الفرق بين ال Abstract

أكمل القراءة ←
هندسة برمجيات

التعامل مع الـ Caching في الـ ASP.NET Core من خلال Redis

كل البرمجيات لديها بيانات يتم جلبها من قاعدة البيانات، هنالك بيانات يتم جلبها بإستمرار، في البرمجيات الضخمة لابد أن تكون سرعة الإستجابة لجلب هذه البيانات كبيرة ، فالثواني قد تفرق في حال برمجيات المبيعات التي تتعامل بصورة مباشرة من

أكمل القراءة ←
هندسة برمجيات

بناء انظمة قابلة للتوسع , بين النظرية والتجربة

شهد التطور الكبير في مجال الانترنت والاجهزة الذكية واللوحية طفرة كبيرة خلال السنين العشر الاخيرة , ادى ذلك لدخول الكثير من المستفيدين لهذه الخدمات لعالم الانترنت ومحاولة نقل اعمالهم الي المنصات , ولم يكتفو فقط بنقل الاعمال بل حتى المتعة

أكمل القراءة ←
هندسة برمجيات

استخدام ال API Gateway في بناء Microservices

في هذه المقالة سوف نتحدث عن بوابة وواجهة العبور الى ال Backends، ففي التطبيقات الضخمة التقليدية Monolithic يكون هناك رابط واحد Endpoint يمثل بوابة الدخول الى ذلك النظام. بينما في ال Microservices فكل خدمة مصغرة لديها ال Endpoints

أكمل القراءة ←
هندسة برمجيات

مقدمة حول ال Microservices

انتشرت في الآونة الأخيرة مفهوم ال Microservices بشكل كبير، عشرات المقالات والدروس التي تتحدث عنها، العديد من المحاضرات والمؤتمرات حولها وفوائدها وعيوبها. وانقسم مجتمع المطورين لفريقين، فريق يرى أنها ليست شيئاً جديداً وأنها مجرد إعادة تسمية Rebranding لمفهوم

أكمل القراءة ←
هندسة برمجيات

مقدمة لل SOLID

ما هو مفهوم ال SOLID ال SOLID هو اختصار لمجموعه من العادات والتي إن قمت باتباعها سوف تحصل على كود أكثر قابلية للصيانة وأسهل في التغيير والتكيف مع متطلبات المشروع المتغيرة Adaptive Code. وليس كما قد يدل الاسم

أكمل القراءة ←
هندسة برمجيات

ماذا تعرف عن ال Coupling وال Cohesion في تصميم البرمجيات ؟

ماذا نعني بال Coupling وال Cohesion كثيراً ما نسمع عن هذا المصطلحان وأنه يجب أن تسعى الى أن يكون الكود قليل التداخل Low Coupling وأكثر تجانساً High Cohesion بدون توضيح مناسب لمعناها، في هذه المقالة سوف نوضح هذه

أكمل القراءة ←
هندسة برمجيات

ما هي ال Scalability وكيف يتحمل الموقع ملايين الزوار ؟

مقدمة موضوع ال Scalability يعتبر من أهم المواضيع بالنسبة لمطورين الويب خصوصاً هذه الأيام مع تزايد عدد البيانات والمستخدمين سواء في التخزين أو المعالجة أو حتى في الارسال، والطلب على مطورين الويب الذي لديهم خبرة في ال Scalability

أكمل القراءة ←
هندسة برمجيات

تصميم البرمجيات باستخدام نمط Model-View-Controller

من المعروف والمسَلَم به في عالم البرمجيات القاعده "المتطلبات دائماً تتغير" " Software Requirement Always change "، هذه القاعده تنص على أن متطلبات البرنامج سواء كانت General Software موجه للعامه أو Custom Software موجه

أكمل القراءة ←
هندسة برمجيات

ما الفرق بين ال Composition و ال Aggregation

عالم البرمجه له كثير من الأوجه أو الأقسام programming paradigm منها البرمجه الإجرائيه procedural programming مثل لغه السي والباسكال (البعض يطلق عليهم imperative language)، نوع أخر وهي الFunctional programming وهي تختلف عن الإجرائيه مثل لغه ليسب فالبرمجه هنا

أكمل القراءة ←