Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion 3 page-object/src/main/java/com/iluwatar/pageobject/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ public static void main(String[] args) {
} else {
// Java Desktop not supported - above unlikely to work for Windows so try the
// following instead...
Runtime.getRuntime().exec("cmd.exe start " + applicationFile);
// Use ProcessBuilder with separate arguments to avoid command injection vulnerability
new ProcessBuilder("cmd.exe", "start", applicationFile.getAbsolutePath()).start();
}

} catch (IOException ex) {
Expand Down
9 changes: 6 additions & 3 deletions 9 value-object/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,16 @@ tag:

## Also known as

* Embedded Value
* Immutable Object
* Embedded Value
* Inline Value
* Integrated Value

## Intent of Value Object Design Pattern
## Intent of Value Object / Immutable Object Design Pattern

The Value Object pattern in Java creates immutable objects that represent a descriptive aspect of the domain with no conceptual identity. It aims to enhance performance and reduce memory overhead by storing frequently accessed immutable data directly within the object that uses it, rather than separately.
The Value Object pattern (also known as the **Immutable Object pattern**) in Java creates immutable objects that represent a descriptive aspect of the domain with no conceptual identity. It aims to enhance performance and reduce memory overhead by storing frequently accessed immutable data directly within the object that uses it, rather than separately.

The Immutable Object pattern ensures that an object's state cannot be modified after construction, providing thread-safety and predictability in concurrent scenarios.

## Detailed Explanation of Value Object Pattern with Real-World Examples

Expand Down Expand Up @@ -146,3 +148,4 @@ Trade-offs:
* [J2EE Design Patterns](https://amzn.to/4dpzgmx)
* [Patterns of Enterprise Application Architecture](https://amzn.to/3WfKBPR)
* [ValueObject (Martin Fowler)](https://martinfowler.com/bliki/ValueObject.html)

Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.