‫۱ ماه قبل، پنجشنبه ۲۵ مرداد ۱۴۰۳، ساعت ۱۷:۵۹

اینکه شما علاقه دارید برای یک کار شخصی شاید نکته نداشته باشد؛ ولی توجه داشته باشید که رعایت کردن یکسری قراردادها در کدنویسی که از سمت جامعه فعال در آن پلتفرم، دات نت در اینجا، پذیرفته شده است، پراهمیت است. از قابلیت های جدید مانند global usings برای کاهش این موارد هم می توانید استفاده کنید. همچنین پیشنهاد می کنم از یک فایل editorconfig با تنظیمات پیشنهادی جامعه دات نت به همراه Code analyzers استفاده کنید تا این موارد را زودتر گوش زد کنند.

‫۱ ماه قبل، پنجشنبه ۲۵ مرداد ۱۴۰۳، ساعت ۱۷:۴۹

Composition در واقع اشاره می کند به روابط بین Object ها در فضای Object-Oriented. همچنین یکی از اصول طراحی با عنوان Favor composition over inheritance در همین زمینه برای رسیدن به Polymorphic behavior و Code reuse مطرح است. مثال های لینک زیر را بررسی کنید:

https://sd.blackball.lv/articles/read/19652-examples-of-composition-in-csharp-a-simple-guide-for-beginners#:~:text=Advantages%20of%20using%20composition,implemented%20in%20those%20smaller%20components.

‫۱ ماه قبل، پنجشنبه ۲۵ مرداد ۱۴۰۳، ساعت ۱۵:۱۰

پاسخ Jimmy Bogard را در رابطه با این موضوع مطالعه کنید:

https://github.com/jbogard/MediatR/issues/434#issuecomment-527446360

The indirection of a handler is good at the application level, but just got confusing once we got inside a handler (and it introduced coupling)

پیشنهاد می کنم برای Reusability از Composition بهره بگیرید و قسمتی که لازم است به صورت مشترک استفاده شود را در قالب یکسری کلاس Refactor کرده و استفاده کنید.

‫۱ ماه قبل، جمعه ۱۲ مرداد ۱۴۰۳، ساعت ۲۱:۳۴

من تجربه استفاده ترکیبی از C4 Model برای نمایش بصری معماری سیستم در چندین سطح مختلف را به همراه قالب خوش فرم MADR (Markdown Any Decision Records) را داشتم. در نسخه های قبلی MADR برای مستند سازی تصمیمات معماری استفاده می شد که بعد از نسخه ۳ برای ثبت و ضبط تمام تصمیمات تاثیرگذار در طراحی سیستم می توان استفاده کرد. این موارد در کنار مستندات OpenAPI Spec که امین جان عنوان کردند، در کنار سورس کد برنامه در پوشه docs نگهداری می شوند.

علاوه بر موارد مطرح شده، استفاده از Gherkin برای نوشتن سناریوهای تست نیز می تواند به عنوان ابزار خوبی برای مستندسازی رفتار سیستم باشد؛ به طوری که با زبان مختص دامین مورد نظر رفتار سیستم را شرح داده است.