* Made minor changes in some patterns such as removed throws clause where not needed, changed incorrect order of arguments in assertEquals * Minor refactorings and code style changes. 1) Removed several use of raw types 2) Removed unnecessary throws clauses 3) Used lambda expressions wherever applicable 4) Used apt assertion methods for readability 5) Use of try with resources wherever applicable 6) Corrected incorrect order of assertXXX arguments * Removed unused import from Promise * Addressed review comments * Addressed checkstyle issue
layout, title, folder, permalink, categories, tags
layout | title | folder | permalink | categories | tags | ||||
---|---|---|---|---|---|---|---|---|---|
pattern | Lazy Loading | lazy-loading | /patterns/lazy-loading/ | Other |
|
Intent
Lazy loading is a design pattern commonly used to defer initialization of an object until the point at which it is needed. It can contribute to efficiency in the program's operation if properly and appropriately used.
Applicability
Use the Lazy Loading idiom when
- eager loading is expensive or the object to be loaded might not be needed at all
Real world examples
- JPA annotations @OneToOne, @OneToMany, @ManyToOne, @ManyToMany and fetch = FetchType.LAZY