CodeShot

Starter Template در مقابل Reference Architecture

Starter Template یک اسکلت حداقلی و آماده است که فقط تنظیمات اولیه پروژه (وابستگی‌ها، ساختار پوشه پایه) را برای شروع سریع فراهم می‌کند؛ Reference Architecture یک نمونه کامل و مستندسازی‌شده است که الگوهای طراحی، لایه‌بندی و بهترین شیوه‌ها را در مقیاس واقعی به نمایش می‌گذارد تا راهنمای معماری تیم باشد.

ویژگیStarter TemplateReference Architecture
سطح کامل بودنحداقلی (اسکلت خالی)کامل (پیاده‌سازی واقعی یک الگو)
هدف اصلیشروع سریع پروژهآموزش و استانداردسازی معماری
حجم مستنداتکمزیاد (شرح تصمیمات معماری)
ریسک استفاده نادرستکمکپی بی‌دلیل پیچیدگی غیرضروری

کِی از Starter Template استفاده کنیم؟

وقتی فقط می‌خواهید سریع یک پروژه جدید را با حداقل تنظیمات شروع کنید (مثل dotnet new webapi)، از یک Starter Template استفاده کنید و معماری را خودتان بر اساس نیاز پروژه بسازید.

کِی از Reference Architecture استفاده کنیم؟

وقتی می‌خواهید نحوه پیاده‌سازی صحیح یک الگوی معماری (مثل Clean Architecture یا CQRS) را در یک پروژه واقعی و کامل ببینید تا تیم خود را با یک استاندارد مشترک هم‌راستا کنید، از یک Reference Architecture استفاده کنید.

مثال Starter Template

dotnet new webapi -n MyApi
# Minimal folder structure: Controllers/, Program.cs — you design the rest

مثال Reference Architecture

eShopOnContainers/
  src/Services/       (each microservice with its own Clean Architecture layers)
  src/ApiGateways/
  docs/architecture-decisions.md   (documents WHY each pattern was chosen)

اشتباه رایج

کپی کورکورانه کل ساختار پیچیده یک Reference Architecture بزرگ (مثل eShopOnContainers با ده‌ها میکروسرویس) برای یک پروژه کوچک ساده، که پیچیدگی غیرضروری و سربار نگه‌داری بی‌دلیل ایجاد می‌کند — Reference Architecture باید به‌عنوان الگو و منبع یادگیری استفاده شود، نه کپی مستقیم بدون تطبیق با مقیاس واقعی پروژه.

جمع‌بندی

برای شروع سریع یک پروژه جدید → Starter Template ساده؛ برای یادگیری و همسوسازی تیمی حول یک الگوی معماری در مقیاس واقعی → Reference Architecture.