Enterprise Software Blog
RSS
Abbas Amiri

Abbas Amiri

Software Engineer

Understanding Equality in C#

Aug 5, 2024

Equality is a fundamental concept in programming, serving as the cornerstone for comparing objects and values. In C#, understanding and correctly implementing equality is crucial for writing reliable and maintainable code. Whether dealing with primitive data types or complex objects, equality operations enable developers to determine whether two instances are considered equivalent, impacting everything from basic conditionals to sophisticated data structures like dictionaries and sets.

Layered Architecture

May 22, 2024

Layered architecture is a design philosophy and pattern that is utilized in the field of software engineering to divide the functionality of applications and systems into discrete levels.

Context Map in Domain Driven Design

Sep 17, 2021

Context Map is the important part of Domain Driven Design. It demonstrates the integration points and the flow of data between Bounded Contexts. Bounded Contexts are not independent. In fact, a system cannot exist without the interaction between its components.

Happy Programmers' Day 2021 !

Sep 13, 2021

The Day of the Programmer is an international professional day that is celebrated on the 256th (hexadecimal 100th, or the 28th) day of each year (September 13 during common years and on September 12 in leap years).

Bounded Context in Domain Driven Design

Jul 30, 2021

A Domain is what an organization does to carry out its business. A Domain normally has some subdomains that work together to perform some tasks that run the business. The main goal of Domain Driven Design is to model the Domain in the way that it can be implemented by software. Every subdomain has specific functions that are different from functions in other subdomains. It is logical to think about those functions separately to understand them correctly. Understanding the Domain leads to designing the Domain Model. The next step is to segregate the domain model into a concept that is called Bounded Context.

Entity in Domain Driven Design

May 27, 2021

In Domain Driven Design, Entity is the concept that its individuality is important. An Entity is a unique thing that its state can be changed. These characteristics make Entity an important building block of Domain Driven Design. In this article, I will describe the Entity's characteristics and how they can be implemented in C#

Value Object in Domain Driven Design

Mar 21, 2021

Value object is one of the Domain Driven Design's building blocks which makes the design more clean and understandable. Value objects declare entity's properties expressive, explicit and descriptive with strong encapsulation. These characteristics make them pain free and easy to use a building block of DDD. In this article I will describe these characteristics and how to implement value objects in C#

Repository in Domain Driven Design

Oct 25, 2020

Repositories are components that encapsulate the logic required to access data sources. They decouple data access logic and technology from domain logic. This article describes the Repository Design Pattern in the context of Domain Driven Design.