Dmitry TikhonovinITNEXTAchieving Allocation-Free Polymorphism in C#Polymorphism is a fundamental concept in object-oriented programming and serves as the basis for many commonly used design patterns in…5 min read·Mar 16, 2024----
Dmitry TikhonovinITNEXTAdvanced Typescript Techniques: State Tracking as an ExampleThis post explains Typescript’s type manipulation capabilities by providing a realistic example.8 min read·Apr 30, 2023--1--1
Dmitry TikhonovinITNEXTFiltering by Dynamic AttributesIn development, there is a very common situation when it becomes necessary to work with dynamic attributes for some entities, even more —…6 min read·May 27, 2022--1--1
Dmitry TikhonovinITNEXTCreating Popup Controls in AngularSome tricks of creating Angular popup controls4 min read·Apr 27, 2021----
Dmitry TikhonovinITNEXTAngular Components State Tracking with ng-set-stateIt is an example of how asynchronous UI can be implemented in Angular using series of immutable states with ng-set-state.8 min read·Apr 18, 2021----
Dmitry TikhonovinITNEXTWriting SQL in C# or When You should not use ORMThis article describes cases when you should not use ORM, as well as describes possible alternatives5 min read·Feb 22, 2021--7--7
Dmitry TikhonovinITNEXTNo need to wait for .Net 5 to start using code generation with RoslynRecently, when I was reviewing the new features that are going to be included in .Net 5, I came across an interesting one — C# Source…4 min read·Nov 3, 2020----
Dmitry TikhonovinITNEXTSyntax Tree and Alternative to LINQ in Interaction with SQL DatabasesIt was a legacy enterprise project and I was asked to improve its “advanced” filtering capabilities.7 min read·Oct 22, 2020----
Dmitry TikhonovinITNEXTWriting “Lazy Task” Using New Features of C# 7The post describes a way of how you can postpone execution of async operations until you really need their results3 min read·Jun 1, 2020--1--1
Dmitry TikhonovinITNEXTAngular Components with Extracted Immutable StateSome alternative to reactive programming in front-end development8 min read·Apr 20, 2020----