نمط معياري

احد تصميمات البرمجيات

النمط المعماري (بالإنجليزية: architectural pattern)‏ هو حل عام يمكن إعادة استخدامه لمشكلة شائعة الحدوث في هندسة البرمجيات ضمن سياق معين.[1] تعالج الأنماط المعمارية قضايا مختلفة في هندسة البرمجيات، مثل قيود أداء أجهزة الحاسوب، والتوافر المرتفع وتقليل مخاطر الأعمال التجارية. تم تنفيذ بعض الأنماط المعمارية ضمن أطر البرمجيات.

تأثر استخدام كلمة «نمط» في صناعة البرمجيات بمفاهيم مماثلة تم التعبير عنها في العمارية التقليدية، مثل لغة نمط كريستوفر ألكسندر (1977) التي ناقشت الممارسة من حيث إنشاء معجم أنماط، مما دفع الممارسين من علوم الحاسوب والبرمجة للتفكير في معجم التصميم الخاص بهم.

أصبح استخدام هذه الاستعارة في مهنة هندسة البرمجيات أمرًا شائعًا بعد نشر أنماط التصميم (1994) من قبل إريك جاما، وريتشارد هيلم، ورالف جونسون، وجون فليسيديس - المعروفة حاليًا باسم «عصابة الأربعة» - التي تترافق مع السنوات الأولى للإنترنت العام، مما يشير إلى بداية أنظمة البرمجيات المعقدة التي «تأكل العالم» [2] والحاجة المقابلة لتدوين عالم تطوير البرمجيات سريع الانتشار على أعمق مستوى ممكن، مع الحفاظ على المرونة والتكيف.

تشبه الأنماط المعمارية أنماط تصميم البرامجيات ولكن لها نطاق أوسع.

تعريف عدل

على الرغم من أن النمط المعماري ينقل صورة للنظام، إلا أنه ليس جزء من المعمارية. النمط المعماري هو مفهوم يحل ويحدد بعض العناصر المتماسكة الأساسية لهندسة البرمجيات. قد تنفذ معماريات مختلفة لا حصر لها نفس النمط وتشترك في الخصائص ذات الصلة. غالبًا ما يتم تعريف الأنماط على أنها «موصوفة بدقة ومتوفرة بشكل شائع».[3][4]

الطراز المعماري عدل

بعد هندسة المباني التقليدية، يعد «النمط المعماري للبرمجيات» طريقة محددة للبناء، تتميز بالميزات التي تجعلها ملحوظة.

يعامل البعض الأنماط المعمارية architectural patterns والأساليب المعمارية architectural styles كما لو كانا نفس الشيء، [5] يعامل البعض الأساليب على أنها تخصصات للأنماط. ما تشترك فيه هو أن الأنماط والأنماط هي التعابير والمصطلحات التي يستخدمها المعماريون، فهي «توفر لغة مشتركة» أو «مفردات» تصف بها أصناف الأنظمة.

والفرق الرئيسي هو أنه يمكن رؤية النمط كحل لمشكلة، في حين أن الأسلوب أكثر عمومية ولا يتطلب مشكلة ليتم حلها كي يظهر ذلك الأسلوب.

أمثلة عدل

فيما يلي قائمة بأنماط المعمارية وأنماط تصميم البرامج المقابلة وأنماط الحلول.

منطقة المجال الفرعي نمط العمارة أنماط تصميم البرمجيات أنماط الحل الأنماط ذات الصلة
تكامل البيانات / SOA
  • EAI
  • مركز البيانات الرئيسي
  • مخزن البيانات التشغيلية (ODS)
  • مارت البيانات
  • مستودع البيانات
  • MFT
  • EAI / ESB
  • اتجاه واحد
  • طلب / استجابة متزامنة
  • رد الاتصال الأساسي
  • التحقق من المطالبة
هندسة البيانات
  • قواعد بيانات التطبيقات المخصصة
  • قواعد بيانات التطبيقات المعبأة
  • ETL
  • EAI
  • الخدمية
التحليلات وذكاء الأعمال
  • تقارير المعاملات
  • التحليلات التشغيلية
  • تحليل الأعمال
  • تحليلات تنبؤية
  • التحليلات الإلزامية
  • تحليلات الجري
  • علوم البيانات والتحليلات المتقدمة
  • البرمجة اللغوية العصبية
  • الوصول إلى بيانات تقارير المعاملات
  • الوصول إلى بيانات التقارير التشغيلية
  • الوصول إلى بيانات التقارير التحليلية
  • الوصول إلى بيانات لوحة القيادة التحليلية
  • الوصول إلى بيانات لوحة القيادة التشغيلية
  • بيانات التعدين
  • لوحات المعلومات في الوقت الفعلي
  • تحليلات داخل الذاكرة
  • تحليل احصائي
  • تحليلات تنبؤية
  • ETL
  • EAI
  • TDS
  • مخزن البيانات التشغيلية
  • مارت البيانات
إدارة البيانات الرئيسية
  • مركز البيانات الرئيسي
  • تكرار البيانات الرئيسية
  • خدمات البيانات الرئيسية
  • مزامنة البيانات الرئيسية
  • تغيير التقاط البيانات
  • EAI
  • الأمراض المنقولة بالاتصال الجنسي
نمذجة البيانات
  • معايير النمذجة
  • اصطلاحات التسمية
الذكاء الاصطناعي
  • إدارة القرار
  • التعرف على الكلام
  • تحليلات النص والبرمجة اللغوية العصبية
  • جيل اللغة الطبيعية
  • التعلم الآلي الكلاسيكي
  • تعلم عميق
  • أتمتة العمليات الروبوتية
  • تحليل الصور والفيديو

بعض الأمثلة الإضافية للأنماط المعمارية:

انظر أيضًا عدل

 

المراجع عدل

  1. ^ R. N. Taylor, N. Medvidović and E. M. Dashofy, Software architecture: Foundations, Theory and Practice. Wiley, 2009.
  2. ^ Andreessen، Marc (20 أغسطس 2011). "Why Software Is Eating The World". وول ستريت جورنال. مؤرشف من الأصل في 2020-07-06. اطلع عليه بتاريخ 2020-04-25.
  3. ^ Chang، Chih-Hung؛ Lu، Chih-Wei؛ Lin، Chih-Hao؛ Yang، Ming-Feng؛ Tsai، Ching-Fu (يونيو 2008). "An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F". Journal of Software Engineering Studies, Vol. 2, No. 6. the Third Taiwan Conference on Software Engineering (TCSE07). ص. 185–194. مؤرشف من الأصل في 2011-09-22. اطلع عليه بتاريخ 2012-05-16. Furthermore, patterns are often defined as something "strictly described and commonly available". For example, layered architecture is a call-and-return style, when it defines an overall style to interact.
  4. ^ "Architectural Patterns: Definition". AAHN INFOTECH (INDIA) PVT. LTD. مؤرشف من الأصل في 2012-06-23. اطلع عليه بتاريخ 2012-05-16. Even though an architectural pattern conveys an image of a system, it is not an architecture as such. An architectural pattern is rather a concept that solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and thereby share the related characteristics. Furthermore, patterns are often defined as something "strictly described and commonly available".
  5. ^ "Chapter 3: Architectural Patterns and Styles". مؤرشف من الأصل في 2019-01-30.

فهرس عدل