Blog
SOLID Principles: Interface Segregation Principle (ISP)
In this part of the SOLID series, we're going to revisit the ISP or Interface Segregation Principle. Yep, this is a very long article. If you want [...]
SOLID Principles: Liskov Substitution Principle (LSP) In Practice
LSP Definition The official definition from Barbara Liskov sounds like this: “If S is a subtype of T, then objects of type T may be replaced with objects of type S, [...]
Algorithms and Data Structures in C#: Complete Tutorial
Why learn about data structures and algorithms? Algorithms and data structures constitute the fundamentals of programming. Good understanding of algorithms and data structures is one of the most important requirements for a [...]
Introduction to Selenium
What is Selenium Selenium is a portable software testing framework for web applications. Basically, it automates browsers what in other words means that it simulates how human beings interact with browsers, e.g. [...]
Writing the First Acceptance Test with SpecFlow
To write acceptance tests using SpecFlow, we need to properly set up the environment and a testing project. At first, we need to install a SpecFlow extension for Visual Studio. We need it [...]
Acceptance and UI Testing with SpecFlow and Selenium
Pyramid of Tests Basically, tests can be divided into three major groups: unit tests integration tests acceptance tests Unit tests are those tests which verify the behavior of a unit under [...]
Complete Practical LINQ Tutorial in C#
LINQ to Entities, LINQ to Objects, LINQ to XML, Functional Programming and LINQ Extension methods were introduced in C# 3 and since then became an indispensable part of the .NET platform. [...]
Double Your Coding Speed with Visual Studio and ReSharper
Learn how to speed up the coding process in bear Visual Studio 2017 and VS empowered by ReSharper (R#). Modern integrated development environments or IDEs, in short, allows us to perform [...]
Multithreading and Parallel Programming in C#
For the last two decades, computers became faster by increasing the number of CPU cores. However, the fact of having more cores itself doesn’t make a computer drastically faster if those cores [...]
Master the Art of Writing Clean Code in C#
Foundations of building object-oriented infrastructures Despite the fact that C# is a very rich on features language, it's very common to see poorly designed and implemented types in a real world. In [...]
TDD in C# From A to Z
Today unit testing is the absolutely required skill which is required from any professional developer. Companies expect from developers to know how to write unit tests including all the most important [...]
Video Course: Functional Programming in C#
Learn how to write C# code in a functional style. The “Functional Programming in C#” is for you if you want to improve your code, design, and architecture. It means you [...]