2012
DOI: 10.5381/jot.2012.11.1.a3
|View full text |Cite
|
Sign up to set email alerts
|

Seuss: Decoupling responsibilities from static methods for fine-grained configurability.

Abstract: Unit testing is often made more difficult by the heavy use of classes as namespaces and the proliferation of static methods to encapsulate configuration code. We have analyzed the use of 120 static methods from 96 projects by categorizing them according to their responsibilities. We find that most static methods support a hodgepodge of mixed responsibilities, held together only by their common need to be globally visible. Tight coupling between instances and their classes breaks encapsulation, and, together wi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2014
2014
2020
2020

Publication Types

Select...
3
1
1

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 13 publications
0
4
0
Order By: Relevance
“…This is called Dependency Injection. Dependency injection "separates the creation of a client's dependencies from the client's behavior, which allows program designs to be loosely coupled" [9] and to "follow the dependency inversion and single responsibility principles" [8].…”
Section: Trylinks Clientmentioning
confidence: 99%
“…This is called Dependency Injection. Dependency injection "separates the creation of a client's dependencies from the client's behavior, which allows program designs to be loosely coupled" [9] and to "follow the dependency inversion and single responsibility principles" [8].…”
Section: Trylinks Clientmentioning
confidence: 99%
“…There are several design patterns for dependency replacement like the Factory Method and Abstract Factory [45], the Service Locator [46,47] and the Depen- [48,49,50].…”
Section: Dependency Replacement In C++mentioning
confidence: 99%
“…A dependency injection is a software design pattern used to ease dependencies in the code [9]. A basic idea is in a separation of tool users (code) from creators (factory) of the tool (object), so the creators can be easily replaced.…”
Section: Comparison With Other Approachesmentioning
confidence: 99%