tgoop.com/devtwitter/8016
Last Update:
ساختاربندی پروژهها در Golang
یکی از چالشهایی که اوایل یادگیری Golang باهاش دستوپنجه نرم میکردم، ساختاربندی درست پروژهها بود. راستش چون از Laravel به Golang مهاجرت کرده بودم، برام سخت بود. Laravel یه ساختار آماده و چارچوب مشخص داره، ولی اینجا باید خودم دست به کار میشدم و انتخاب میکردم.
امروز داشتم یه سری مقاله تو Medium میخوندم که به یه مطلب خیلی خوب برخوردم. تو این مقاله چندتا از ساختارهای محبوب پروژه تو Golang معرفی شده بودن و به سادهترین شکل ممکن درباره ویژگیها و کاربردهاشون توضیح داده بود. ساختارهایی مثل:
- Clean Architecture
- CQRS
- Hexagonal Architecture
- Monorepo Structure
- ...
از خوندنش واقعاً لذت بردم و گفتم با شما هم به اشتراک بذارم.
لینک مقاله:
https://medium.com/@smart_byte_labs/organize-like-a-pro-a-simple-guide-to-go-project-folder-structures-e85e9c1769c2
چند نکته که باید حتماً در نظر بگیرید:
1- اسم فولدرها رو با توجه به نیاز خودتون انتخاب کنید.
لازم نیست دقیقاً مثل این مقاله عمل کنید. هر اسمی که به تیم شما کمک کنه راحتتر بفهمه داخل اون فولدر چه خبره، گزینه درستیه!
2- ساختارها رو میتونید ترکیب کنید.
مثلاً من خودم ترکیب Monorepo، Clean Architecture، Hexagonal Architecture و CQRS رو خیلی دوست دارم و معمولاً ازش استفاده میکنم.
3- سمها باید کاربرد فولدر رو مشخص کنن.
اصلاً نیازی نیست که حتماً از کلمات رایج مثل controller استفاده کنید. چیزی رو انتخاب کنید که برای پروژهتون مناسبتره.
امیدوارم این مقاله به دردتون بخوره. اگر تجربه خاصی تو این زمینه دارید یا از ساختارهای دیگهای استفاده میکنید، خوشحال میشم تجربیاتتون رو بشنوم!
@DevTwitter | <Adel Hadadi/>
BY DevTwitter | توییت برنامه نویسی
Share with your friend now:
tgoop.com/devtwitter/8016