مستخدم ضيف
انضم إلينا اليوم!
تسجيل الدخول التسجيل
الرئيسية
الدورات
المدونة
Veya ai chat
المميزات
حول
الاتصال
الخصوصية
الشروط
الإعدادات
الإنجليزية العربية
الدعم
مساعدة
Lavidya - AI Learning Platform
  • الرئيسية
  • الدورات
  • المدونة
  • Veya ai chat
  • المميزات
  • حول
  • الاتصال
  • الخصوصية
  • الشروط
    • الإنجليزية
    • العربية

مقال المدونة

  • الرئيسية
  • الرئيسية
  • المدونة
  • من OOP لـ SOLID: إزاي مبادئ ال...

من OOP لـ SOLID: إزاي مبادئ البرمجة الكائنية بتخلّي الكود يعيش ويكبر بأمان

يا صاحبي، تخيلت أن السوفت وير ده مترابط زي الكفتة والبطاطس؟ 🤔

يا سيدي، في يوم من الأيام كنت جاي في انترفيو شركتي الحالية، وفجأة سألوني سؤال خلاني أقف لحظة وأفكر. يعني، كنا بنقول إن OOP وSOLID دي مبادئ مهمة جداً، بس هل فعلاً إحنا عارفين إزاي كل واحد منهم بيتماشى مع التاني؟

كلنا كـ Developers عارفين الأشياء دي:

  • مبادئ الـ OOP الأربعة: Encapsulation, Inheritance, Polymorphism, Abstraction
  • ومبادئ SOLID اللي بنحاول نطبقها دائماً

بس السؤال اللي عمل Reset في دماغي كان: كل مبدأ من مبادئ SOLID بيعتمد أو بيتحقق بإيه من مبادئ الـ OOP؟

ساعتها أدركت إننا ساعات بنتعامل مع OOP و SOLID كأنهم قائمة للحفظ أو Checkboxes في Code Review. مع إنه الحقيقة إنهم مكمّلين بعض، ومش ممكن تفهم واحد صح من غير التاني.

1️⃣ Single Responsibility Principle (SRP) ⬅️ Encapsulation

الفكرة هنا، يا صاحبي، إن الكلاس يكون ليه سبب واحد للتغيير. عشان كده لازم تعمل Encapsulation صح. يعني، تجمع الداتا والـ Methods اللي ليهم علاقة واحدة في مكان واحد، وتخفي أي تفاصيل ملهاش علاقة بالمسؤولية الأساسية.

لو لقيت كلاس بيعمل Validation وPersistence وLogging وBusiness Logic، يعني ده كاسر SRP وكاسر Encapsulation في نفس الوقت. Encapsulation مش بس private variables، دي فصل مسؤوليات قبل أي حاجة.

2️⃣ Open/Closed Principle (OCP) ⬅️ Inheritance + Polymorphism

المبدأ ده محتاج ترسين شغالين مع بعض. Inheritance علشان تزود Behavior جديد من غير ما تعدّل في الكود القديم. Polymorphism علشان السيستم يتعامل مع الـ Child كأنه Parent من غير if/else ومن غير ما "يضرب".

يعني، الكود القديم يفضل ثابت، والجديد يدخل من غير ما حد يحس. لو بتكسر OCP، غالباً هتلاقي if/else على نوع الكلاس أو switch على enum، وده معناه إنك مش مستغل Polymorphism صح.

3️⃣ Liskov Substitution Principle (LSP) ⬅️ Inheritance (بس الصح)

LSP بيقولك: أي Child Class لازم يقدر يحل محل الـ Parent من غير ما يبوّظ سلوك السيستم. لو ورثت كلاس وبقيت تعمل Override وتكسر الـ Contract أو تغيّر السلوك المتوقع، يعني ده Inheritance شكلي وCopy-paste مقنّع. LSP هو اللي بيفرق بين وراثة منطقية ووراثة شكلها حلو بس خطرها كبير. Inheritance من غير LSP = قنبلة موقوتة 💣

4️⃣ Interface Segregation Principle (ISP) 5️⃣ Dependency Inversion Principle (DIP) ⬅️ Abstraction

الاتنين دول قايمين بالكامل على Abstraction. ISP بيقولك ما تعملش Interface تخينة وما تجبرش Class ينفّذ Methods مش محتاجها. كل Interface صغير واضح ليه هدف واحد. DIP بيقولك High-level modules ما تعتمدش على Low-level modules، الاتنين يعتمدوا على Abstraction. يعني، اعتمد على Interface مش Implementation. وده اللي بيفتح الباب لـ Dependency Injection, Mocking, Unit Testing حقيقي.

💡 الخلاصة

OOP هي أدوات في إيدك، وSOLID هو دليل استخدام الأدوات دي. OOP من غير SOLID كود Object-Oriented شكلي بس هش وسهل يكبر غلط. SOLID من غير فهم OOP مبادئ محفوظة بتتطبق غلط. لكن لما الاتنين يشتغلوا مع بعض، تبني Software يعيش سنين، مش كود شغال النهاردة ويصبح Legacy بكرة 🧱

إذا كنت عايز بعد كده أمثلة كود أو مقارنة غلط/صح أو أسئلة انترفيو شبه دي، فالباقي عليك تقول لي. والله العظيم، أنا استمتعت أوي أشاركك هذه المعلومة!

معلومات المقال

من OOP لـ SOLID: إزاي مبادئ البرمجة الكائنية بتخلّي الكود يعيش ويكبر بأمان
  • الفئة: علوم الحاسوب
  • منشور: Jan 25, 2026
  • وقت القراءة: 1 دقيقة
  • الكاتب: Mortada

هل كان هذا مفيداً؟

مشاركة المقال

شارك هذا المقال مع الآخرين

مقالات ذات صلة

خلف الكواليس: ازاي الـ Routing شغال في PHP Native
خلف الكواليس: ازاي الـ Routing شغال في PHP Native

Feb 03, 2026

إزاي المنصات الكبيرة بتحمي فيديوهاتها؟
إزاي المنصات الكبيرة بتحمي فيديوهاتها؟

Jan 26, 2026

إزاي تتحكم في استخدام الـ Guest Users حتى لو بيستخدموا VPN أو Incognito
إزاي تتحكم في استخدام الـ Guest Users حتى لو بيستخدموا VPN أ...

Jan 26, 2026

Lavidya - AI Learning Platform

"لافيديا جعلت التعلم سهلاً وممتعاً. ذكاء اصطناعي يفهم التعليم حقاً."

حقوق النشر © 2026 Lavidya. جميع الحقوق محفوظة.