❤1
این مثال خوبی از hexagonal architecture هستش.
در اینجا یک ساختار ماژولار رو روی monolithic می بینیم.
@thisisnabi_dev
در اینجا یک ساختار ماژولار رو روی monolithic می بینیم.
@thisisnabi_dev
خیلی مسخرس که توی مصاحبه ها از یک توسعه دهنده مزایا و معایب مایکروسرویس ها رو می پرسن،
این مسائل مربوط به آدم هایی هست که در سطح سازمان تعیین کننده و تصمیم گیرنده هستن، نه یه دولوپر ساده که فردا روزی که اومد داخل سازمان تهش روی یکی ۲ تا سرویس قراره کانتریبوت داشته باشه.
تهش دولوپر باید پترن های موجود در این معماری و بدونه 😊
۲ کتاب زیر خوبن و الکی وقتتون رو هدر نمی دن.
Microservices Patterns
Building Microservices
#چی_خوندیم_و_چی_شد
این مسائل مربوط به آدم هایی هست که در سطح سازمان تعیین کننده و تصمیم گیرنده هستن، نه یه دولوپر ساده که فردا روزی که اومد داخل سازمان تهش روی یکی ۲ تا سرویس قراره کانتریبوت داشته باشه.
تهش دولوپر باید پترن های موجود در این معماری و بدونه 😊
۲ کتاب زیر خوبن و الکی وقتتون رو هدر نمی دن.
Microservices Patterns
Building Microservices
#چی_خوندیم_و_چی_شد
با مفاهیمی که در سی شارپ مطرح هستن آشنا بشید :)
اینکه شما مرز بین زبان، فریم ورک، پترن و یا پرینسیپل، معماری و یا رویکر توسعه نرم افزار رو بتونید تشخیص بدید یک هنر هست.
#سین_مثل_سم
اینکه شما مرز بین زبان، فریم ورک، پترن و یا پرینسیپل، معماری و یا رویکر توسعه نرم افزار رو بتونید تشخیص بدید یک هنر هست.
#سین_مثل_سم
کد باید document-less باشه :)
زبان های سطح بالا به وجود اومدن تا ما بتونیم خیلی راحت کد رو بخونیم + با استفاده از Unit Test ها و انواع دیگه تست ها می تونیم به ماهیت نیازمندی پی ببریم.
نظر شخصیم اینه که روی کد هیچ گونه مستندی نداشته باشیم اما فرایند های سیستم دیاگرام بیس باشن.
اگر تونستید فرایند ها رو diagram as code بنویسید که شما از بنده های صالح هستید.
داکیومنت ها خوبن، ولی زمان تغییر کد بیس معمولا آپدیت نمیشن و بعد از یه مدت یه جزیره متفاوت هستن برای خودشون.
@thisisnabi_dev
زبان های سطح بالا به وجود اومدن تا ما بتونیم خیلی راحت کد رو بخونیم + با استفاده از Unit Test ها و انواع دیگه تست ها می تونیم به ماهیت نیازمندی پی ببریم.
نظر شخصیم اینه که روی کد هیچ گونه مستندی نداشته باشیم اما فرایند های سیستم دیاگرام بیس باشن.
اگر تونستید فرایند ها رو diagram as code بنویسید که شما از بنده های صالح هستید.
داکیومنت ها خوبن، ولی زمان تغییر کد بیس معمولا آپدیت نمیشن و بعد از یه مدت یه جزیره متفاوت هستن برای خودشون.
@thisisnabi_dev
نمی دونم در رابطه به 4+1 View Model Of Software Architecture چیزی خوندید یا نه، اما این مقاله اصلیش خیلی خفنه.
https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
#چی_خوندیم_و_چی_شد
@thisisnabi_dev
https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
#چی_خوندیم_و_چی_شد
@thisisnabi_dev
An Introduction to Software Architecture - January 1994 🤯
https://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf
#چی_خوندیم_و_چی_شد
@thisisnabi_dev
https://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf
#چی_خوندیم_و_چی_شد
@thisisnabi_dev
آیا Code Coverage 100% شما رو به کمال می رسونه؟
خیر :)
بیشتر توضیح میدی؟
خیر :))
مریضی؟
آره :)))
@thisisnabi_dev
خیر :)
بیشتر توضیح میدی؟
خیر :))
مریضی؟
آره :)))
@thisisnabi_dev
👍1
عموما می تونیم بدون هیچ ساختاری به تمام functional requirement های داخل یک نرم افزار برسیم.
برای رسیدن به مواردی چون maintainability, changability , testability, agility, avialibility و غیره س که ما میایم و معماری و ساختار ها رو به نرم افزار تحمیل می کنیم.
قبل از اینکه ساختاری بچینید، لطفا به موارد بالا فکر کنید. این معماری، پترن، کوفت یا هرچی که انتخاب کردید چه کمکی قراره به شما بکنه!
@thisisnabi_dev
برای رسیدن به مواردی چون maintainability, changability , testability, agility, avialibility و غیره س که ما میایم و معماری و ساختار ها رو به نرم افزار تحمیل می کنیم.
قبل از اینکه ساختاری بچینید، لطفا به موارد بالا فکر کنید. این معماری، پترن، کوفت یا هرچی که انتخاب کردید چه کمکی قراره به شما بکنه!
@thisisnabi_dev
توپ نیست که هرچقدر تکه هاش بیشتر باشه خوب تره!
باندری سرویس ها رو پیدا کردن یکی از سخت ترین کارهای داخل سیستم های سرویس گراست.
مابقیش همه نمونه کد آماده داره :)
@thisisnabi_dev
باندری سرویس ها رو پیدا کردن یکی از سخت ترین کارهای داخل سیستم های سرویس گراست.
مابقیش همه نمونه کد آماده داره :)
@thisisnabi_dev
امیدوارم که مفید بوده باشه
1️⃣ logging
https://lnkd.in/dhbZNitt
2️⃣ API Design Rules
https://lnkd.in/d4w-ziXe
3️⃣ Model Binding
https://lnkd.in/d-97nASh
4️⃣ Tactical side in DDD
https://lnkd.in/dnei-Vwn
5️⃣ Software Resilience
https://lnkd.in/dEkFt8_R
6️⃣ HTTP Protocol
https://lnkd.in/dVMhqZ-C
7️⃣ Action Filters
https://lnkd.in/dAVeY7Cg
8️⃣ Object Pooling
https://lnkd.in/duZaSHtw
9️⃣ MondoDb in .NET
https://lnkd.in/dHvUttYM
@thisisnabi_dev
1️⃣ logging
https://lnkd.in/dhbZNitt
2️⃣ API Design Rules
https://lnkd.in/d4w-ziXe
3️⃣ Model Binding
https://lnkd.in/d-97nASh
4️⃣ Tactical side in DDD
https://lnkd.in/dnei-Vwn
5️⃣ Software Resilience
https://lnkd.in/dEkFt8_R
6️⃣ HTTP Protocol
https://lnkd.in/dVMhqZ-C
7️⃣ Action Filters
https://lnkd.in/dAVeY7Cg
8️⃣ Object Pooling
https://lnkd.in/duZaSHtw
9️⃣ MondoDb in .NET
https://lnkd.in/dHvUttYM
@thisisnabi_dev
thisisnabi.dev [Farsi]
توپ نیست که هرچقدر تکه هاش بیشتر باشه خوب تره! باندری سرویس ها رو پیدا کردن یکی از سخت ترین کارهای داخل سیستم های سرویس گراست. مابقیش همه نمونه کد آماده داره :) @thisisnabi_dev
اگر دوست داشتید این پست رو ببینید و بعد ادامه این متن رو بخونید.
https://www.linkedin.com/posts/aminrousta_aepaeuaepahyaesabraeqaepaecahyaet-activity-7234976012361437184-wjdO?utm_source=share&utm_medium=member_android
اکثر دوستان دارن به این فکر میکنن که اجایل بودن به معنای سریع بودن نیست.
من روانی به این فکر میکنم که کاپلینگ با ۱۴ سرویس؟
چه خبره!
بعضی موقع ها نیاز نیست اینقدر سرویس ها شکسته بشن، هزینه Integration رو همیشه ما میس میکنیم.
https://www.linkedin.com/posts/aminrousta_aepaeuaepahyaesabraeqaepaecahyaet-activity-7234976012361437184-wjdO?utm_source=share&utm_medium=member_android
اکثر دوستان دارن به این فکر میکنن که اجایل بودن به معنای سریع بودن نیست.
من روانی به این فکر میکنم که کاپلینگ با ۱۴ سرویس؟
چه خبره!
بعضی موقع ها نیاز نیست اینقدر سرویس ها شکسته بشن، هزینه Integration رو همیشه ما میس میکنیم.