You can edit almost every page by Creating an account. Otherwise, see the FAQ.

الگوی معماری

از EverybodyWiki Bios & Wiki
پرش به:ناوبری، جستجو

خطای اسکریپتی: پودمان «AfC submission catcheck» وجود ندارد. الگوی معماری (به انگلیسی: Architectural pattern) یک راه حل کلی و قابل استفاده مجدد برای یک مشکل رایج در معماری نرم‌افزار در یک زمینه معین است.[۱] الگوهای معماری به مسائل مختلفی در مهندسی نرم‌افزار می‌پردازند، مانند محدودیت‌های عملکرد سخت‌افزار کامپیوتر، در دسترس بودن بالا و به حداقل رساندن ریسک تجاری. برخی از الگوهای معماری در چارچوب‌های نرم‌افزاری پیاده‌سازی شده‌اند.

استفاده از کلمه «الگو» در صنعت نرم‌افزار تحت تأثیر مفاهیم مشابهی است که در معماری سنتی بیان شده‌است، مانند یک زبان الگو (۱۹۷۷) کریستوفر الکساندر که این عمل را از نظر ایجاد واژگان الگو مورد بحث قرار می‌دهد و متخصصان کامپیوتر را ترغیب می‌کند تا به فرهنگ واژگان طراحی خود فکر کنند.

استفاده از این استعاره در حرفه مهندسی نرم‌افزار پس از انتشار الگوهای طراحی (۱۹۹۴) توسط اریش گاما، ریچارد هلم، رالف جانسون و جان ولیسیدز - که اکنون به عنوان «Gang of Four» شناخته می‌شود - همزمان با سال‌های اولیه اینترنت عمومی، شروع سیستم‌های نرم‌افزاری پیچیده که «دنیا را می‌خورند»[۲] و نیاز متناظر به کدگذاری دنیای پرسرعت توسعه نرم‌افزار در عمیق‌ترین سطح ممکن، در حالی که انعطاف‌پذیر و سازگار باقی می‌ماند، را نشان می‌دهد.

الگوهای معماری مشابه الگوهای طراحی نرم‌افزار هستند اما دامنه وسیع تری دارند.

تعریف[ویرایش]

اگرچه یک الگوی معماری تصویری از یک سیستم را منتقل می‌کند، اما یک معماری نیست. الگوی معماری مفهومی است که برخی از عناصر منسجم اساسی یک معماری نرم‌افزار را حل و ترسیم می‌کند. معماری‌های مختلف بی‌شماری ممکن است الگوی یکسانی را پیاده‌سازی کنند و ویژگی‌های مرتبط را به اشتراک بگذارند. الگوها اغلب به عنوان «به‌طور دقیق توصیف شده و معمولاً در دسترس» تعریف می‌شوند.

سبک معماری[ویرایش]

به مانند معماری سنتی ساختمان، «سبک معماری نرم‌افزاری» به دنبال یک روش خاص ساخت و ساز است که با ویژگی‌هایی مشخص می‌شود که آن را قابل توجه می‌کند.

یک سبک معماری تعریف می‌کند: خانواده ای از سیستم‌ها بر اساس الگوی سازمان ساختاری. واژگانی از اجزا و رابط‌ها، با محدودیت‌هایی در مورد نحوه ترکیب آنها.[۳]

سبک معماری مجموعه ای نامگذاری شده از تصمیمات طراحی معماری است که (۱) در یک زمینه توسعه معین قابل اعمال است، (۲) تصمیمات طراحی معماری را که مختص یک سیستم خاص در آن زمینه است، محدود می‌کند، و (۳) در هر سیستم نتایج، ویژگی‌های مفید را استخراج می‌کند.[۱]

برخی الگوهای معماری و سبک‌های معماری را یکسان می‌دانند،[۴] برخی سبک‌ها را به‌عنوان تخصص‌های الگوها در نظر می‌گیرند. وجه اشتراک آنها این است که هم الگوها و هم سبک‌ها اصطلاحاتی هستند که معماران باید از آنها استفاده کنند، آنها «زبان مشترکی را ارائه می‌دهند»[۴] یا «واژگان»[۳] که با آن کلاس‌هایی از سیستم‌ها را توصیف می‌کنند.

تفاوت اصلی این است که یک الگو را می‌توان به عنوان یک راه حل برای یک مشکل دید، در حالی که یک سبک کلی تر است و برای ظاهر خود نیازی به حل مشکل ندارد.

مثال‌ها[ویرایش]

در اینجا لیستی از الگوهای معماری و الگوی طراحی نرم‌افزار مربوطه و الگوهای راه حل آورده شده‌است.

حوزه - زیر دامنه الگوی معماری الگوهای طراحی نرم‌افزار الگوهای راه حل الگوهای مرتبط
ادغام داده/معماری سرویس‌گرا
  • One-way
  • Synchronous request/response
  • Basic callback
  • Claim check
Data architecture
  • Custom applications databases
  • Packaged application databases
  • ETL
  • EAI
  • SOA
Analytics and هوشمندی کسب‌وکار
  • Transactional reporting
  • Operational analytics
  • Business analytics
  • Predictive analytics
  • Prescriptive analytics
  • Streaming analytics
  • Data science and advanced analytics
  • NLP
  • Transactional reporting data access
  • Operational reporting data access
  • Analytical reporting data access
  • Analytical dashboard data access
  • Operational dashboard data access
  • داده‌کاوی
  • ETL
  • EAI
  • TDS
  • Operational data store
  • Data mart
Master data management
  • Master data hub
  • Master data replication
  • Master data services
  • Master data synchronization
مدل‌سازی داده
  • Modeling standards
  • Naming conventions
هوش مصنوعی

چند نمونه فرعی از الگوهای معماری:

جستارهای وابسته[ویرایش]

پانویس[ویرایش]

  1. ۱٫۰ ۱٫۱ R. N. Taylor, N. Medvidović and E. M. Dashofy, Software architecture: Foundations, Theory and Practice. Wiley, 2009.
  2. خطای لوآ در پودمان:Citation/CS1/fa/Identifiers در خط 47: attempt to index field 'wikibase' (a nil value).
  3. ۳٫۰ ۳٫۱ M. Shaw and D. Garlan, Software architecture: perspectives on an emerging discipline. Prentice Hall, 1996.
  4. ۴٫۰ ۴٫۱ Archiveddocs. «Chapter 3: Architectural Patterns and Styles». docs.microsoft.com (به English). دریافت‌شده در ۲۰۲۱-۱۲-۱۶.صفحه پودمان:Citation/CS1/fa/styles.css محتوایی ندارد.

رده:الگوهای طراحی نرم‌افزار رده:الگوی معماری (علم رایانه)



This article "الگوی معماری" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:الگوی معماری. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[ویرایش]