Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : [email protected] | Blog...
-
Upload
joel-summers -
Category
Documents
-
view
215 -
download
0
Transcript of Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : [email protected] | Blog...
![Page 1: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/1.jpg)
Design PatternsSingleton & Factory Pattern
Eriq Muhammad Adams J.Mail : [email protected] | Blog : http://eriq.lecture.ub.ac.id
![Page 2: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/2.jpg)
ensures a class has only one instance, and provides a global point of access to it.
Singleton Pattern
![Page 3: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/3.jpg)
Singleton Pattern (cont.)
![Page 4: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/4.jpg)
In multi-threading add synchronized to getInstance()
Singleton Pattern (cont.)
![Page 5: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/5.jpg)
Or Move to an eagerly created instance rather than a lazily created one
Singleton Pattern (cont.)
![Page 6: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/6.jpg)
Use “double-checked locking” to reduce the use of synchronization in getInstance()
Singleton Pattern (cont.)
![Page 7: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/7.jpg)
defines an interface for creating an object, but lets subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.
Factory Pattern
![Page 8: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/8.jpg)
Factory Pattern (cont.)
![Page 9: Design Patterns Singleton & Factory Pattern Eriq Muhammad Adams J. Mail : eriq.adams@ub.ac.id | Blog : @ub.ac.id.](https://reader035.fdocuments.us/reader035/viewer/2022062517/56649f395503460f94c55bcd/html5/thumbnails/9.jpg)
O’Reilly – Head First Design Pattern by Eric Freeman & Elisabeth Freeman (2004).
CRC Press – Software Architecture Design Pattern in Java by Partha Kuchana (2004).
References