# value objects

Published articles for value objects.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Domain Driven Design: How It Works & Why It Matters

DevFeed: [Domain Driven Design: How It Works & Why It Matters](<https://devfeed.tech/articles/domain-driven-design-how-it-works-why-it-matters-105580.md>)

Original publisher: [Read original article](<https://talent500.com/blog/domain-driven-design/>)

Author: Ekakshar

Published: 2026-10-28T08:53:58Z

Content type: article

Language: en

Sources: [Talent500](<https://devfeed.tech/sources/backend-archives-talent500-blog.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [business logic](<https://devfeed.tech/topics/business-logic.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [aggregates](<https://devfeed.tech/tags/aggregates.md>), [aggregates-and-entities](<https://devfeed.tech/tags/aggregates-and-entities.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bounded-context](<https://devfeed.tech/tags/bounded-context.md>), [ddd](<https://devfeed.tech/tags/ddd.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [domain-model](<https://devfeed.tech/tags/domain-model.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [technology](<https://devfeed.tech/tags/technology.md>), [ubiquitous-language](<https://devfeed.tech/tags/ubiquitous-language.md>), [value-objects](<https://devfeed.tech/tags/value-objects.md>)

### AI overview

Domain-Driven Design (DDD) models software around business rules, using collaboration between developers and domain experts to establish shared terminology and domain boundaries. The text explains how ubiquitous language, bounded contexts and context maps, domain models, entities, value objects, aggregates, services, repositories, factories, and events organize behavior and integration. It recommends discovering business rules with domain experts, modeling key behavior, defining context boundaries, and refining the model as requirements change. DDD can improve communication, modularity, and maintainability in complex domains, but takes time and domain expertise; applying its patterns to simple applications can add needless complexity. It does not itself guarantee scalability or reliable event delivery, and production integrations require safeguards such as transaction handling and failure management.

### Source excerpt

Explore Domain-Driven Design (DDD) and how it helps developers structure complex software around core business concepts. Understand bounded contexts, entities, aggregates, value objects, and domain events, along with practical principles for building maintainable, scalable, and business-aligned applications. The post Domain Driven Design: How It Works & Why It Matters appeared first on Talent500 blog.

## JEP targeted to JDK 28: 401: Value Objects (Preview)

DevFeed: [JEP targeted to JDK 28: 401: Value Objects (Preview)](<https://devfeed.tech/articles/jep-targeted-to-jdk-28-401-value-objects-preview-55597.md>)

Original publisher: [Read original article](<https://inside.java/2026/09/20/jep401-target-jdk28/>)

Author: Dan Smith

Published: 2026-09-20T00:00:00Z

Content type: article

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [JEP-401](<https://devfeed.tech/topics/jep-401.md>), [Project Valhalla](<https://devfeed.tech/topics/project-valhalla.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>)

Tags: [jdk-28](<https://devfeed.tech/tags/jdk-28.md>), [jep](<https://devfeed.tech/tags/jep.md>), [preview](<https://devfeed.tech/tags/preview.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>), [value-objects](<https://devfeed.tech/tags/value-objects.md>)

### AI overview

JEP 401 proposes preview support in JDK 28 for value objects: instances of explicitly declared `value` classes are immutable and have no identity, so `==` compares their field values. This can let JVMs flatten references in fields and arrays or scalarize them in local variables, potentially reducing memory use and pointer loads; the JVM chooses which optimizations to apply, and no particular layout is guaranteed. Preview features are disabled by default and must be enabled at compile and run time. The proposal covers 30 Platform API value classes, while `String` remains an identity class. Identity-sensitive operations such as synchronization are unsupported for value objects. Migration can affect code relying on distinct instances, locking, serialization, reflection or garbage-collection APIs; non-record value classes implementing `Serializable` need `writeReplace` and `readResolve`. Use `equals` to test whether instances represent the same value, since it may differ from `==`.

### Source excerpt

The following JEP is targeted to JDK 28: 401: Value Objects (Preview)

## Immutability in PHP Beyond readonly

DevFeed: [Immutability in PHP Beyond readonly](<https://devfeed.tech/articles/immutability-in-php-beyond-readonly-33295.md>)

Original publisher: [Read original article](<https://freek.dev/3181-immutability-in-php-beyond-readonly>)

Author: Freek Van der Herten (freek@spatie.be)

Published: 2026-08-17T12:12:30Z

Content type: article

Language: en

Sources: [Freek](<https://devfeed.tech/sources/freek-dev-all-blogposts.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [php](<https://devfeed.tech/tags/php.md>), [properties](<https://devfeed.tech/tags/properties.md>), [value](<https://devfeed.tech/tags/value.md>), [value-objects](<https://devfeed.tech/tags/value-objects.md>)

### AI overview

A deep dive into immutability in PHP, covering readonly properties, interior mutability, immutable value objects and collections, dates, cloning, boundaries, and testing.

### Source excerpt

A deep dive into immutability in PHP, from readonly properties and interior mutability to immutable value objects, collections, dates, cloning, boundaries, and testing. Read more

## PHP 8.1: cloning and changing readonly properties

DevFeed: [PHP 8.1: cloning and changing readonly properties](<https://devfeed.tech/articles/php-8-1-cloning-and-changing-readonly-properties-44102.md>)

Original publisher: [Read original article](<https://stitcher.io/blog/cloning-readonly-properties-in-php-81>)

Author: Brent

Published: 2021-07-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stitcher](<https://devfeed.tech/sources/stitcher-io.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [properties](<https://devfeed.tech/topics/properties.md>), [Composer](<https://devfeed.tech/topics/composer.md>), [object](<https://devfeed.tech/topics/object.md>), [class](<https://devfeed.tech/topics/class.md>), [constructor](<https://devfeed.tech/topics/constructor.md>)

Tags: [composer](<https://devfeed.tech/tags/composer.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [nested-objects](<https://devfeed.tech/tags/nested-objects.md>), [php](<https://devfeed.tech/tags/php.md>), [php-8-1](<https://devfeed.tech/tags/php-8-1.md>), [value-objects](<https://devfeed.tech/tags/value-objects.md>)

### AI overview

A PHP 8.1 tutorial explains how to clone objects and override readonly properties despite PHP 8.1's initialization restrictions. It presents a Composer package and trait-based workaround, with caveats including skipped constructors and shallow cloning.

### Source excerpt

Read the full post on https://stitcher.io/blog/cloning-readonly-properties-in-php-81