Categories
Authentication Authorization Security Software Development

IdentityServer4 + Asp.Net Core Identity in a single database

Learn how to organize all identity-related tables in a single database when building an identity microservice.

Categories
Software Architecture Software Development

Single Responsibility: limiting the impact of changes

Get a better understanding of the principle that is not only about separating things, but also bringing them together when they are related. Limit the impact of changes!

Categories
Software Architecture Software Development

Dependency Inversion applied for real

The Dependency Inversion Principle helps us building decoupled systems, and one way to achieve this is by turning some classes into interfaces and using Dependency Injection, Service Locator, Factory or some other pattern, right? Well then. I believe you already know or have at least heard about these concepts and techniques, but even then there’s […]

Categories
Software Development

The only two cases when you should handle exceptions

Exceptions are often handled indiscriminately, but there are only two cases when you should do it. Here’s how to make the best use of exceptions.

Categories
Software Architecture Software Development

To Interface or Not To Interface?

You make extensive use of interfaces, but the system remains tightly coupled. What gives? Learn when interfaces are actually useful, and how.

Categories
Software Architecture Software Development

How to use Domain Events to write decoupled software

Learn how to use this powerful technique that helps to avoid coupling while also guiding towards the Single Responsibility and Open-Closed principles.

Categories
Software Development

How to build better public APIs for your classes

When defining the public APIs of your classes, you need to consider whether a property or method you chose to expose is helping the consumers address an immediate goal in full.

Categories
Software Development

Can you explain a Relational vs NoSQL database to a layman?

Complex concepts can be simplified, and if you can see a problem more simply, you can solve it smarter and faster.

Categories
Software Development

What is Domain-Driven Design and why you should care

The new way of thinking about software development that enables you to write better code faster.

Categories
Software Development

DTOs and ViewModels: when and how to use them

A simple, easy-to-use technique that helps keeping code-coupling low, enabling you to evolve your Domain model without introducing breaking changes.