برنامه نویس بک اند(ترجیحا با زبان گولنگ)-علاقه مند به اشتراک گذاری مطالبی که یاد میگیرم.
اصول SOLID در زبان Go (قسمت صفرم-مقدمه )
- مقدمه
- اصل اول Single Responsibility
- اصل دوم Open/Closed
- اصل سوم Liskov substitution
- اصل چهارم Interface segregation
- اصل پنجم
سلام دوستان من علی فرهادنیا هستم .برنامه نویس بک اند و علاقه مند به زبان گولنگ.
در این سری از پست ها میخوام اصول سالیدو در حد توانم توی زبون جذاب گولنگ اجرا کنم و توضیح بدم.
فکر کنم بعد خوندن این مقدمه تا حدی بفهمین که میخواین این سری پست هارو دنبال کنید یا نه:)
اگر کمی با زبان گولنگ آشنایی داشته باشین(که من ب نظرم کسی که دنبال این موضوعه این آشناییو داره) احتمالا با دیدن عنوان تعجب کردین!
چون اصول سالید برای زبون های شی گرا طراحی شده و خب گولنگ زبان شی گرا نیست!
ولی خب اونقدراهم غیر شی گرا نیست:/
خب این یعنی چی؟!
یعنی
طراحان این زبون یه سری مفاهیم رو توی این زبون تعریف کردن که میشه تا حدی مشابهشو توی زبون های شی گرا پیدا کرد ولی نه کاملا!
مثلا این زبون اینترفییس داره(البته تا حدی با اینترفیس زبون های شی گرا متفاوته)
از اون ور ارث بری اینجا وجود نداره
و یا ایده کپسوله کردن اینجا قابل اجراس ولی نه به قدرت زبون های شی گرا.
و موارد دیگه ای که در حد سوادم توی ادامه قسمت ها در جای مرتبط بهش اشاره میکنم.
به همین خاطر پیاده سازی کامل اصول سالید توی این زبان تا حدی دور از انتظاره(جذابه)
ولی خب توی این سری من قصد دارم تا حد امکان سعی کنم این اصولو پیاده کنم.
خب اصلا چرا باید این اصولو توی زبونی مثل گولنگ یادبگیریم؟!
به نظر من برای کسانی که برنامه نویسی شی گرا و اصول سالید رو بلدن این سری مطالب میتونه در درک بهتر زبون گولنگ بهشون کمک کنه(به من که کمک کرد:))
و اگر صرفا مثل من کنجکاوین که این زبون جذاب تا چه حد جذابه توصیه میکنم این سریو از دست ندین:)
از اونجا که این قسمت فقط مقدمس مطلب زیادی برای گفتن ندارم ودرواقع اینو نوشتم که خودمو متعهد کنم به نوشتن بقیه قسمتا و همچنین شمارو بشارت بدم به اینکه چی داخل این سری هست و چی نیست(البته تقریبا)
خواستم در ادامه یه تاریخچه از سالید و عمو بابو ... بگم که به نظرم یه لینک مرتبط بذارم خیلی مفید تره تا اینکه من خودم توضیحش بدم .به نظرم اینجوری احترام بیشتری به شما و وقتتون گذاشته میشه.
راستی بحث عمو باب شد اگر برنامه نویسین و تا الان کتاب clean code عمو بابو نخوندین حتما یه سری بهش بزنین پشیمون نمیشین:)
و در اخر جاهای جذاب بحث از قسمت بعدی شروع میشه:)
اها یه نکترو فراموش کردم
اگر انگلیسیتون خوبه و میخواین این مباحثو با کیفیت بیشتری پیگیری کنید منبع اصلیم برای توضیح این مباحث، این دورس.
اگرم با قیمتش یا تهیه دوره به مشکل برخوردین
یه سرچ توی سایتای داخلی با اسم این دوره میتونه کمک کننده باشه:)
ممنون به خاطر وقتی که گذاشتین.
مطلبی دیگر از این انتشارات
ارثبری در Go؟ آشنایی با Composition در Golang.
مطلبی دیگر از این انتشارات
مقدمه ایی بر فریم ورک gin (gin-gonic web framework)
مطلبی دیگر از این انتشارات
مشکلات کار با http.ResponseWriter توی گولنگ!