Blog
Abstract Class VS Interface in C#
You can open any C# tutorial and you’ll find some information about abstract classes and interfaces. Most likely, you’ll not find any information about what is the difference between abstract class and [...]
Designing and Implementing API in C#
Nowadays I’m writing my new programming video course. I chose an interesting topic for the next course: “Designing and Implementing API in C#”. How to design API? In this course, you’ll learn [...]
The Truth About Martin Fowler and Uncle Bob
– Why did you do that? – Fowler (Uncle Bob, Mark Seemann) said this is the best practice. Very often we can hear and read such conversations. When I was younger I [...]
MVVM: When EventAggregator (aka MessageBus) is an Anti-Pattern
Very often we can see that developers tend to use static message buses for all kind of interactions between objects. For those, who unaware of this pattern I want to recall that [...]
MVVM in WPF Survival Guide Went Live!
My second video course “MVVM in WPF Survival Guide From A to Z” is done and released. This is a great MVVM Tutorial for Beginners! Learn how to create a maintainable Windows [...]
C# Static Code Analysis with NDepend
Have you heard about the “goto fail” fail? This is a security bug which was introduced by Apple in one of the iOS updates. Long story short, there was a piece of [...]
Learn Enterprise WPF with XAML from Scratch
My first course "Learn Enterprise WPF with XAML from Scratch" went live on Udemy.com and it will cost you just 10$! It is a great WPF tutorial for beginners! In this course you can learn deeply the concepts and tools that you will need to build fully functional UI-applications with the modern UI-building framework, Windows Presentation Foundation (WPF).
Objects Equality in C#. Important Facts That You Should Know
Don’t forget that if you want to get my upcoming video courses with 50% discount, then fill the following form. C# provides many ways to compare objects, not only to compare class [...]
Cryptography in .NET for Beginners
This is a brief introduction into .NET cryptography. Hashes Hashing is a transformation process of some input data of an arbitrary length into an array of bytes of fixed size. Hash is [...]
Money Type as Value Object, or Don’t Rely on Primitive Types!
Primitive Types Obsession Problem Today I’m going to discuss the problem of using primitive types instead of abstractions. This problem was discussed in the blog of Mark Seemann. Read it, if you [...]
Master Global Exceptions Handling in WPF in 5 minutes
Are you sure know the difference between the following events? Dispatcher.UnhandledException Application.DispatcherUnhandledException AppDomain.UnhandledException TaskScheduler.UnobservedTaskException […]
What Every WPF-Developer Must Know? Learn Basic Concepts
These days I’m working on a video course about Microsoft WPF foundations. And today I want to address some basic notions that every UI-developer should be aware of and be able to [...]