Skip to content

Commit e8fc9d1

Browse files
committed
#2 unmodifiable decorator
1 parent 490f4e1 commit e8fc9d1

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/java/victor/training/cleancode/immutable/basic/ImmutableBasic.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import lombok.Value;
55

66
import java.util.ArrayList;
7+
import java.util.Collections;
78
import java.util.List;
89
import java.util.stream.Stream;
910

@@ -39,7 +40,8 @@ class Immutable { // acum acest obiect este // "deep immutable"
3940
Other other;
4041

4142
public List<Integer> getNumbers() {
42-
return new ArrayList<>(numbers); // #1 clona in getter: 1) misleading pt caller, 2) ineficient cu memoria
43+
// return new ArrayList<>(numbers); // #1 clona in getter: 1) misleading pt caller, 2) ineficient cu memoria
44+
return Collections.unmodifiableList(numbers); // #2 Decorator™️ Pattern: un wrapper peste lista originala care arunca ex la orice modificare incerci
4345
}
4446

4547
public String toString() {

0 commit comments

Comments
 (0)