Properties (47)
Predicate | Object |
---|---|
gptkbp:instanceOf |
Design Pattern
|
gptkbp:canBe |
Eagerly initialized
Implemented with enums Implemented with static methods Lazy initialized |
gptkbp:canLeadTo |
Difficulties in testing
Tight coupling |
gptkbp:hasFacility |
Ensure a class has only one instance
|
https://www.w3.org/2000/01/rdf-schema#label |
Singleton
|
gptkbp:isConsidered |
A design pattern for controlling instantiation
A design pattern for resource management Anti-pattern by some developers |
gptkbp:isCriticizedFor |
Global state issues
Hidden dependencies |
gptkbp:isLocatedIn |
gptkb:Java
C# Python |
gptkbp:isNear |
Static class
A design for concurrency A design for scalability A substitute for dependency injection |
gptkbp:isNotableFor |
Multi-threaded applications without precautions
|
gptkbp:isOftenMadeWith |
Factory pattern
Builder pattern Prototype_pattern |
gptkbp:isOftenUsedIn |
Game engines
Database connections Unit tests Integration tests Functional tests Service locators |
gptkbp:isOrganizedBy |
A way to control access to resources
A way to manage global state |
gptkbp:isPartOf |
Object-oriented design
Software engineering |
gptkbp:isRelatedTo |
Lazy initialization
Dependency injection Service locator pattern Global state Thread_safety |
gptkbp:isUsedIn |
Web applications
Game development Microservices architecture Resource management Configuration management Logging frameworks API_design |