سؤال

أنا مروحة ضخمة من البرامج مبادئ التصميم مثل خالص و الجافة.ما المبادئ الأخرى موجودة OO برامج التصميم ؟

ملاحظة.أنا لا أبحث عن إجابات مثل "التعليق الخاص بك رمز" ولكن بدلا من ذلك يبحثون عن OO مبادئ التصميم مثل تلك التي نوقشت من قبل العم بوب.

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

المحلول

قائمة شاملة إلى حد ما من ويكيبيديا:

http://en.wikipedia.org/wiki/List_of_software_development_philosophies

  • تطوير البرمجيات رشيق
  • رشيقة عملية موحدة (AUP)
  • السلوك مدفوعة التنمية (BDD)
  • كبير تصميم مقدما (BDUF)
  • بروكس القانون
  • الكاتدرائية والبازار
  • رمز الإصلاح
  • البنائية منهجية التصميم (آلية التنمية النظيفة)
  • رعاة البقر الترميز
  • واضحة وضوح الشمس
  • تصميم التنمية المدفوعة باعتبارات (D3)
  • لا تكرر نفسك (الجافة) أو مرة واحدة ومرة واحدة فقط (OAOO) ، نقطة واحدة من الحقيقة (بقعة)
  • أنظمة ديناميكية التنمية طريقة (DSDM)
  • البرمجة المتطرفة (XP)
  • ميزة مدفوعة التنمية
  • هوليوود مبدأ
  • تكرارية و التنمية المتزايدة
  • التطبيق المشترك تصميم الملقب JAD أو "تطوير التطبيقات المشتركة"
  • كايزن
  • كانبان
  • قبلة مبدأ (الحفاظ على أنها بسيطة غبي)
  • تطوير البرمجيات العجاف
  • حلول مايكروسوفت الإطار (أطباء بلا حدود)
  • نموذج يحركها العمارة (MDA)
  • مفتوحة المصدر
  • فتح عملية موحدة
  • سريعة وقذرة
  • عقلانية عملية موحدة (RUP)
  • سكروم
  • الذكية (التنمية رشيق)
  • فصل من الشواغل (SoC)
  • Service-oriented
  • البرامج الحرفية
  • برنامج نظام السلامة
  • النموذج الحلزوني
  • تطوير اختبار يحركها (TDD)
  • عملية موحدة (متابعة)
  • V-نموذج
  • نموذج الشلال
  • عجلة تكلم نموذج
  • الأسوأ هو الأفضل (نيو جيرسي النمط ، كما يتناقض مع معهد ماساتشوستس للتكنولوجيا نهج)
  • إكستريم
  • لن تحتاج ذلك (YAGNI)
  • واحد صفر اللانهاية

نصائح أخرى

التماسك العالي - كم هي مركزة هي مسؤوليات الوحدات التي تقوم بتصميمها.

اقتران منخفض - الدرجة التي تعتمد عليها الوحدات النمطية على وحدات أخرى.

اختار التركيب على الميراث، هو واحد.

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

على سبيل المثال، دعنا نقول أن لدي Person فئة، أ Car فئة، وأود أن أجعل فئة جديدة تسمى DrivenCar صف دراسي. سيكون تنفيذ ساذج هو القول (دعنا نتظاهر بأننا حصلنا على ميراث متعددة)

class DrivenCar extends Person, Car  { ... }

هو drivencar نوع الشخص؟ لا لذلك لا ينبغي أن تكون ممتدة شخص. هل سيارة drivencar سيارة؟ نعم، لذلك من المنطقي تمديد

باستخدام تكوين الإرهاق سوف تبدو

class DrivenCar extends Car {
    private Person driver;
}

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

واجهه المستخدم. تعتمد معظم أنماط التصميم على فصل الواجهة والتنفيذ.

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

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