Value Objects¶
📕 Articles¶
- Implement value objects
- The hidden value of the Value Object
- DDD Value Objects With Entity Framework Core
- Value Object: a better implementation ⭐
- Entity vs Value Object: the ultimate list of differences ⭐
- Nesting a Value Object inside an Entity ⭐
- Functional C#: Immutability ⭐
- Functional C#: Primitive obsession ⭐
- Functional C#: Non-nullable reference types ⭐
- C# 9 Records as DDD Value Objects
- Entities, Value Objects, Aggregates and Roots
- Listing Strongly Typed Enum Options in C#
- Enum Alternatives in C#
- Improved Support for Value Objects with EF Core 2.2
- Value Object
- Owned Entity Types
- DTO vs Value Object vs POCO
- Value Objects explained ⭐
- Hierarchy of value objects
- Representing a collection as a Value Object ⭐
- Entity vs Value Object: the ultimate list of differences
- C# 9: Value Objects and Simpler Code
- Nulls in Value Objects ⭐
- Refactoring to Value Objects
- Practical DDD in Golang: Value Object
- Using Value Objects with Entity Framework Core
- 3 Different Ways to Implement Value Object in C# 10
- Working with Value Objects
- Value Objects: when to create one? ⭐
- Immutable Value Objects are simpler and more useful than you think!
- DateTime as a Value Object
- Value Object - DevIQ
- Support for Value Objects in C#
- Modern C# Techniques, Part 2: Value Records
- [Best practice] C# 9 Records as DDD Value Objects with EF Core 6
- The type system is a programmer’s best friend
- Design Smell: Primitive Obsession by Mark Seemann
- From Primitive Obsession to Domain Modelling by Mark Seemann
- eShopOnWeb Architecture (2/16) – uses Value Objects to model immutable domain concepts
- A Modern Way to Create Value Objects to Solve Primitive Obsession in .NET
📺 Videos¶
- Treating Primitive Obsession with ValueObjects | DDD in .NET
- The Power of Value - Power Use of Value Objects in Domain Driven Design - Dan Bergh Johnsson
🚀 Samples¶
- milannankov/EfCoreValueObjects - Illustrates support for value object with Entity Framework Core 2.2
- NimblePros/ValueObjects - A collection of Value Object samples for use in DDD projects.
📦 Libraries¶
- Value - A pico library (or code snippets shed) to help you to easily implement Value Types in your C# projects without making errors nor polluting your domain logic with boiler-plate code.
- ValueOf - Deal with Primitive Obsession - define ValueObjects in a single line (of C#).
- WrapperValueObject - A .NET source generator for creating simple value objects wrapping primitive types.
- Qowaiv - Qowaiv is a Single Value Object library
- jhewlett/ValueObject - A micro library for easily creating C# classes with value semantics. No need to override Equals, GetHashCode, et all.
- AntonioFalcaoJr/Dotnet6.EFCore6.Record.ValueObjects - This project aims to demonstrate the configuration and use of Records as Value Objects with EF Core 6
- SteveDunn/Vogen - A semi-opinionated library which is a source generator and a code analyser. It Source generates Value Objects
- adampaquette/Typely - Domain Primitives creation with a fluent Api and built-in validations. Based on a source generator and code analyzer.