إذا كان الأمر يتعلق بتكنولوجيا معينة، فهل لا يزال نمط تصميم؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

لقد ذهبت إلى اجتماع لمجموعة مستخدمي .NET الليلة، وكان جزء منه يدور حول نموذج عرض النموذج وعرضه، وقد جعلني أتساءل عما إذا كان هذا مؤهلاً كنمط.
المشكلة التي أواجهها هي أن M-V-VM خاص جدًا بالتكنولوجيا.إذا كنت لا تستخدم WPF وآلية الربط الخاصة به، فلا أرى كيف يمكنك استخدام هذا النمط.
وعلى النقيض من ذلك، فإن معظم الأنماط "الكلاسيكية" لا تلتزم بالتكنولوجيا إلى حد كبير.أكبر افتراض قاموا به هو أن اللغة المستخدمة موجهة للكائنات، وعادةً ما تدعم الوراثة.أبعد من ذلك، تتعلق الأنماط الكلاسيكية في الغالب بتوضيح مشكلة تصميم عامة، واقتراح نهج لحلها - ولكن من الممكن وجود تطبيقات أو اختلافات متعددة.
سؤالي هو إذن أين يمكنك رسم الخط الفاصل بين ما هو نمط التصميم وما هي التوصية حول كيفية استخدام إطار عمل محدد للغاية؟إذا كنت تعرف كيفية تنفيذه وما هي اللغة والتكنولوجيا التي تحتاج إلى استخدامها للقيام بذلك، فهل لا يزال هذا نمطًا؟

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

المحلول

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

ضع في اعتبارك أيضًا أن MVVM هو مجرد تطبيق محدد لـ نمط نموذج العرض التقديمي قدمه مارتن فاولر, ، وهو بالتأكيد "كلاسيكي" كما تقول، ولا يعتمد على النظام الأساسي.

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

نصائح أخرى

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

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

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

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

موانئ دبي ليست أبدا اخترع, ، هم اكتشف من خلال التفكير في الكود الموجود (حدثين أو أكثر تم تطويرهما بشكل مستقل) التي تتعامل مع مواقف مماثلة، وتحديد القواسم المشتركة على أنها "قوى" تقود الحلول، وما إلى ذلك، وما إلى ذلك.يعد "DP" مصطلحًا شائعًا وجذابًا لدرجة أنه يستخدم FAR على نطاق أوسع مما ينبغي -0- ارجع إلى المصادر واقرأ أو أعد قراءة كتاب Alexander طريقة البناء الخالدة وأعماله الأخرى، إذا ضللت طريقك عبر غابة الكلمات الطنانة الخاصة بـ DP، فسوف تساعدك في العثور على المسار مرة أخرى!

<اقتباس فقرة>   

إذا كنت لا تستخدم برنامج الأغذية العالمي وملزمة لها   آلية، وأنا لا أرى كيف يمكن   استخدام هذا النمط.

وسيلفرلايت وضوء القمر أيضا دعم MVVM.

"تستند اللغات من نماذج"

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

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