هل توجد قائمة محددة لأنماط التصميم؟[مغلق]

StackOverflow https://stackoverflow.com/questions/136337

  •  02-07-2019
  •  | 
  •  

سؤال

من أين أتت فكرة أنماط التصميم، ومن الذي قرر ما هو نمط وما هو ليس نمطًا وأعطاهم أسمائهم؟هل هناك منظمة رسمية تحددهم، أم أنهم موجودون من خلال إجماع مجتمعي ما؟

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

المحلول

أعتقد أن هناك "دورة حياة أساسية لنمط التصميم"

  1. يكتب المؤلف عن نمط التصميم في كتاب.
  2. يصبح الكتاب مقروءًا جيدًا، وربما الأكثر مبيعًا
  3. يدخل نمط التصميم إلى الوعي العام ويكتسب مشاركة ذهنية.
  4. يتم استخدام نمط التصميم.أنه يعمل بشكل جيد.نمط التصميم يحصل على المزيد من المشاركة الذهنية
  5. نمط التصميم يصبح الدواء الشافي، ويتم الإفراط في استخدامه.
  6. مؤلف مختلف يكتب "نمط التصميم يعتبر ضارًا"
  7. يصبح نمط التصميم مكافحة النمط
  8. مؤلف مختلف يصبح مشهورًا، ويؤلف كتابًا مليئًا بأنماط التصميم الجديدة...

نصائح أخرى

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

ويكيبيديا لديها قائمة جيدة. http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

معظمها يتم بإجماع المجتمع (هذا المجتمع يتكون من أشخاص قرأوا أنماط التصميم أو التعليمات البرمجية كاملة :/)

اجابة قصيرة:لا.

اجابة طويلة:لأنه إذا قام شخص ما بتصميم شيء ما، ويميل إلى إعادة استخدامه من قبل الآخرين، فسيتم إنشاء "نمط تصميم" جديد (أو اكتشافه؟؟)

في الواقع، قد يكون عدد أنماط التصميم في التطبيقات الحالية هائلاً، لكن لم يقم أي منها بتصنيفها بعد.

وأود أن أضيف الروابط السابقة هذين:

http://martinfowler.com/eaaCatalog/

http://c2.com/ppr/

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

وعلى الرغم من ذلك، فإن الأنماط "الشهيرة" هي تلك الموصوفة في أنماط التصميم، أو كتاب GOF.

قد يكون من المفيد أيضًا التعرف عليه أنماط مضادة.

هذه قائمة جيدة من الأنماط (من أنماط بنية تطبيقات المؤسسات كتاب):

http://martinfowler.com/eaaCatalog/

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

لا يوجد اتحاد رسمي واحد يحدد ما هو النمط وما هو ليس نمطًا.ومع ذلك، عادةً ما يكون للأنماط دورة حياة طويلة قبل أن يتم قبولها بشكل عام.بدأ مجتمع التطوير في المشاركة في أشياء مثل PLOP (لغات الأنماط للبرامج) ومؤتمرهم السنوي: مؤتمر 2008, ، والتي تركز على مؤلفي الأنماط وعشاق لمناقشة موضوع الأنماط وتطوير الأنماط الجديدة.

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

بعض الأنماط لها معنى فقط في مجموعة فرعية من اللغات - الأساسية كتاب GOF يركز على Java (أم أنها C++؟الكتاب موجود على مكتبي في المكتب) وبعض الأنماط الموضحة ليست ذات صلة كبيرة، على سبيل المثال، بـ Ruby أو VB6.والعكس بالطبع.

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

هناك كتاب قانوني:غاما، هيلم، جونسون، فليسيدس:"أنماط التصميم - عناصر البرامج الموجهة للكائنات القابلة لإعادة الاستخدام" والتي بدأت كل شيء.يحتوي على 23 نمطًا.

لا يمكن أن تكون هناك قائمة نهائية.أبدًا.

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

كل حل ذكي وجديد يمكن أن يكون أساسًا لحل مماثل يشترك في نمط مشترك.الأنماط شيء أنت تستخدم لتلخيص والتقاط حل رائع لمشكلة ما.

يمكن للعقل البشري العثور على أنماط تقريبًا أي شئ.إنه شيء نقوم به دون التفكير فيه.

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