سؤال

مكررة

يجب أن C# الأساليب التي يمكن أن الساكنة تكون ثابتة?


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

إذا كان فصل أي عضو البيانات - أيلا الحفاظ على أي نوع من الدولة ، هل هناك أي فوائد في عدم تمييز هذه الفئة فئة ثابتة مع ساكنة الأساليب ؟

هل هناك أي فوائد في عدم تأشير الطرق التي لا تحافظ على الدولة ثابتة?

وذلك بفضل!

تحرير:منذ ليس في مدونة أنا أنظر هو مكتوب في c#.

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

المحلول

نعم.أستطيع أن أفكر في بعض الأسباب:

  1. سهولة ساخرا وحدة اختبار
  2. سهولة إضافة الدولة
  3. هل يمكن أن تمر من حولها (كما interface أو شيء)

نصائح أخرى

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

وربما يكون هناك فائدة في ترك الأساليب التي لا تتغير دولة غير ثابت، إذا كنت تنوي (أو تعتقد أنك قد تنوي) أن ترث من الصف وتجاوز تلك الأساليب مع التعليمات البرمجية التي <م> لا دولة التغيير. وإن كان في هذه الحالة هو حقا يجب أن تكون فئة مجردة.

إذا لم فئة الحفاظ على أي دولة، ليس لديها أي أساليب سبيل المثال، ويمكن تنفيذها تماما مع أساليب الفئة، وعادة ما تأخذ فترة طويلة من الصعب أن ننظر في ما إذا كان السلوك من شأنه في الواقع أكثر منطقية في مكان آخر. أجد أنها تبدو عادة لدينا الكثير من الطرق على غرار doSomethingWithItem(Item item)، والتي من شأنها أن تجعل أكثر منطقية كما أسلوب مثيل في Item.

نعم، أعرف أن هذا لا يجيب على سؤالك، ولكن أعتقد أن الآخرين قد غطت بشكل جيد جدا بالفعل، وكنت أرغب في الحصول على منظور آخر من هناك.

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