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