سؤال

أنا طالب يبحث عن موارد يمكن أن تساعدني في مزيد من فهم كيفية تطبيق معدلات الوصول بشكل صحيح على الأعضاء / الأنواع كما أنا رمز لهم.

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

هل لدى أي شخص أي موارد جيدة لمساعدني في فهم الاستخدام السليم لمعدل الوصول؟

هل كانت مفيدة؟

المحلول

هذا هو نوع تجربة السؤال. ابدأ من مستوى الشرف الأقل وتعزيزه حسب الضرورة.

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

نصائح أخرى

أنا ببساطة اجعل كل شيء وصول مقيد قدر الإمكان:

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

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

لجعل الأمور أسهل، حاول استخدام TDD., ، أو قد تحصل على المزيد من المتاعب عند الوصول إلى اختبار الوحدات ...

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

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

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

لدي ميل لجعل كل شيء محمي ليس عام. ترك حرية المستخدمين في القيام بكل ما يريدون مع صفي. إذا فواصل فئةها التي ستكون مشكلتها.

في كل مرة ترثها من فئة تحتاج إلى معرفة كيفية عملها حتى لو كانت OOP حول إخفاء التنفيذ. يمكنك إخفاء التنفيذ، لكنك لن تخفي الوثائق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top