شرح الاقراص الصلبة وماهيتها



اليوم أود أن أتحدث عن S.O.L.I.D.، المبادئ الخمسة الأولى من البرمجة الموجهة نحو الموضوع التي نجدها ضرورية لبناء برامج العمل. في حال كنت لا تعرف ذلك، في برمجة الكمبيوتر، وقدم سوليد مبادئ اختصار من قبل الريش مايكل لمدة خمسة المبادئ التي تم تعريفها من قبل روبرت C. مارتن في أوائل 2000s.

كما تعلمون، للحصول على برنامج العمل، يجب أن يكون لدينا اقتران منخفضة، والتماسك عالية والتغليف قوي، وهو شيء أن المبادئ سوليد تساعدنا على الحصول عليها. والفكرة هي أنه، من خلال تطبيق هذه المبادئ معا، كنت قادرا على كتابة أفضل رمز الجودة التي هي قوية. يصبح نظام إنشاء سهلة للحفاظ على، لإعادة استخدامها وتمديد مع مرور الوقت. في الأساس، مبادئ سوليد تساعد مطوري البرمجيات لتحقيق قابلية وتجنب أن التعليمات البرمجية الخاص بك يكسر في كل مرة كنت تواجه التغيير.

حسنا، دعونا نبدأ بالأساسيات، S.O.L.I.D. تمثل:

S - مبدأ المسؤولية الفردية

O - مبدأ مفتوح مغلق

L - مبدأ استبدال ليسكوف

I - واجهة الفصل العنصري

د - مبدأ إعالة التبعية

دعونا ننظر في كل مبدأ على حدة لفهم لماذا S.O.L.I.D يمكن أن تساعد المطورين لبناء برامج الجودة.

المبادئ سوليد

1. مبدأ المسؤولية الواحدة

"يجب ألا يكون هناك أكثر من سبب واحد لتغيير الطبقة".

كما ترون، ينص هذا المبدأ على أن الكائن / فئة يجب أن يكون فقط مسؤولية واحدة، وأنه يجب أن تكون مغلفة تماما من قبل الطبقة. هنا، عندما نتحدث عن مسؤولية، نعني سببا للتغيير. هذا المبدأ سوف يؤدي إلى تماسك أقوى في الطبقة والاقتران أكثر سهولة بين فئات التبعية، وقراءة أفضل ورمز مع تعقيد أقل.

من الصعب فهم وتحرير فئة عندما يكون لها مسؤوليات مختلفة. لذلك إذا كان لدينا أكثر من سبب واحد للتغيير، سيتم تقسيم وظيفة إلى فئتين وسوف كل التعامل مع مسؤوليتها الخاصة.

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

2. فتح-- مغلق المبدأ

"كيانات البرمجيات (الطبقات، وحدات، وظائف، الخ) يجب أن تكون مفتوحة للتمديد، ولكن مغلقة للتعديل".

هنا، والفكرة هي أن كيان يسمح سلوكها إلى أن تمتد ولكن أبدا عن طريق تعديل شفرة المصدر. يجب كتابة أي فئة (أو ما تكتبه) بطريقة يمكن استخدامها كما هي. ويمكن تمديدها إذا لزم الأمر، ولكن لا يمكن أبدا تعديلها. يمكنك اعتبار ذلك عند كتابة الفصول الدراسية. استخدام الطبقة في أي بالطريقة التي تحتاج إليها، ولكن تعديل سلوكها يأتي بإضافة رمز جديد، أبدا عن طريق تعديل القديم. ويمكن تطبيق نفس المبدأ على وحدات، والحزم، والمكتبات.

من خلال تطبيق مبدأ مفتوح مغلقة سوف تحصل على اقتران فضفاضة، وسوف تحسين سهولة القراءة وأخيرا، سوف يكون الحد من خطر كسر الوظائف الموجودة.

3. ليسكوف مبدأ الاستبدال

"يجب أن تكون الأنواع الفرعية بديلا لأنواع قاعدتها"

كما يقول اسمها، تم تعريف مبدأ تبديل ليكوف من قبل باربرا ليسكوف. والفكرة هنا هي أن الكائنات يجب أن تكون قابلة للاستبدال من خلال الحالات من الأنواع الفرعية، وأنه من دون التأثير على عمل النظام الخاص بك من وجهة نظر العميل. في الأساس، بدلا من استخدام التنفيذ الفعلي، يجب أن تكون قادرا دائما على استخدام فئة أساسية والحصول على النتيجة التي كانت تنتظرها. في كثير من الأحيان عندما نريد أن تمثل كائن، ونحن نموذج الطبقات لدينا على أساس خصائصها وبدلا من ذلك، يجب أن نضع في الواقع المزيد من تركيزنا على السلوكيات.

هذا المبدأ يؤكد أساسا أن التجريدات لدينا صحيحة ويساعدنا على الحصول على التعليمات البرمجية التي يمكن إعادة استخدامها بسهولة والتسلسل الهرمي الطبقة التي يسهل فهمها بسهولة.

ما يقوله الكثيرون هو أن ليسكوف في مبدأ الإحلال لديه علاقة قوية جدا مع المبدأ السابق، والمبدأ مفتوح مغلقة. روبرت C. مارتن حتى يقول أن "انتهاك لسب هو انتهاك كامن من أوكب".

4. واجهة الفصل المبدأ

"الفصول التي تنفذ واجهات، لا ينبغي أن تضطر إلى تنفيذ الأساليب التي لا تستخدم".

هنا، حول كيفية كتابة الواجهات. فما الذي ذكر؟ في الأساس، وبمجرد أن تصبح واجهة كبيرة جدا / الدهون، ونحن بحاجة تماما لتقسيمه إلى واجهات الصغيرة التي هي أكثر تحديدا. وسيتم تعريف الواجهة من قبل العميل الذي سيتم استخدامه، مما يعني أن العميل من واجهة سوف تعرف فقط عن الطرق التي ترتبط بها.

في الواقع، إذا قمت بإضافة أساليب التي يجب أن لا تكون هناك، يجب على الطبقات تنفيذ واجهة لتنفيذ هذه الأساليب أيضا. ذلك هو السبب؛ يجب أن لا يضطر العميل إلى الاعتماد على واجهات أنها لا تستخدم. ويهدف مزود خدمة الإنترنت إلى إبقاء نظام فصله وبالتالي أسهل لل ريفاكتور، تغيير، ونشر.

5. مبدأ إعالة التبعية

"مستوى عال

نسعى دوما جاهدين للتحسن والتقدم وليس ما تراه هو حدودنا! ونحن نقدر كثيرا زوارنا وآراؤهم فإن كان لديك أي اقتراح/نصيحة/ومضة مفيدة/نقد بناء أو ما إلى ذلك يمكنك مشاركتنا كل ما في ذهنك من خلال تعليق أو الإتصال بنا

Share this

0 Comment