I am often asked where to start if you are learning design patterns. A Strategy pattern is a perfect way to start. It is probably the most straightforward pattern. If I think about it in only a few words, I would say that it is about using composition rather than inheritance. But, let’s consider the basic logic of the Strategy pattern. This behavior is typical in everyday programming that we do not even think about using this design pattern. When we implement an interface, we are already using the strategy pattern. The basic idea is that we are defining an…
Every junior developer faces the design patterns, and it seems to be a hard understandable thing at first glance. But! I’ll explain to you further in this article what they are, and you’ll get it. By using design patterns, your software development process will be much easier (and less painful). So, let’s start. What is a pattern? To figure out easily what is the design patterns let’s define what pattern is generally. A pattern is a repeatable element in various life spheres. It can be a sort of color combination, a shape of some object, or a mechanism. According to…
Yesterday I had to explain to a friend (a junior developer) what OAuth (OAuth 2.0) is. As I saw, It is relatively hard for a developer with little experience to grasp the idea behind it. Most of the time, people don’t get the concept behind OAuth 2.0 and OpenID Connect just because they are poorly explained. So in this article, I will try to explain them in the simplest way possible. What is OAuth 2.0? OAuth is an authorization protocol. Please don’t mistake it with an authentication protocol. The sole purpose of OAuth 2.0 is to grant access to resources,…