Software Engineering
Singleton is More Than Just Design Pattern
Widely known term “singleton” has more than one meaning, which leads to confusion and misunderstandings. Let’s clarify the matters.
The Superpower of Finite State Machines
Intuitive description of Finite State Machine concept, alongside several examples and a discussion of the scope of applicability.
Event Bus: Pros, Cons and Best Practices
Exploration of the benefits and the drawbacks of Event Bus design pattern and a list of best practices for working with these components.
To Mock, or Not to Mock, That is the Question
Mocking is good, but also bad. You should feel ashamed for using mocks, but, in practice, everybody uses them. Wat? Let’s clear some things up!
Callback Hell in Android
Demonstration of so-called Callback Hell situation and explanation of how to prevent it (or fix, if needed) in your own code
5 Most Popular Package Structures for Software Projects
Discussion of different package structures, which are crucially important, but often ignored part of your project’s architecture.
Client-Generated IDs vs. Server-Generated IDs
Summary of my thorough research concerning usage of client-generated unique identifiers vs. server-generated ones in web applications.
Dependency Injection Myths
I’ll try to convince you that you absolutely need dependency injection in your software project by debunking several very common myths about it.
Why JetBrains Invented and Promotes Kotlin
Let’s discuss why JetBrains invested in development of Kotlin programming language and actively promotes it today.