Abstract
In order to build a data structure that is extensible and reusable, it is necessary to decouple the intrinsic and primitive behavior of the structure from the application specific behavior that manipulates it. To illustrate such a construction, this paper proposes a uniform object-oriented structural pattern for recursive data structures, and shows how external algorithms can be added without rewriting any code using the visitor design pattern. By presenting data structures in this manner, we can more effectively teach students about recursion, abstraction, design, and good software engineering practices.
- 1 Gamma, E, Helm, R, Johnson, R, Vlissides, J. Design Patterns, Elements Of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google Scholar
Digital Library
- 2 Nguyen, D. Design Patterns for Data Structures. SIGCSE Bulletin, 30, 1, March 1998, 336-340. Google Scholar
Digital Library
- 3 Wong, S. Structure-encoded Indexing Schemes for Recursive Structures, pre-publication, Oberlin College, [email protected].Google Scholar
Index Terms
Patterns for decoupling data structures and algorithms
Recommendations
Design patterns for data structures
Design patterns provide ways to structure software components into systems that are flexible, extensible, and have a high degree of reusability. The state pattern, the null object pattern, and the singleton pattern are used to implement common data ...
Patterns for decoupling data structures and algorithms
SIGCSE '99: The proceedings of the thirtieth SIGCSE technical symposium on Computer science educationIn order to build a data structure that is extensible and reusable, it is necessary to decouple the intrinsic and primitive behavior of the structure from the application specific behavior that manipulates it. To illustrate such a construction, this ...
Design patterns for data structures
SIGCSE '98: Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science educationDesign patterns provide ways to structure software components into systems that are flexible, extensible, and have a high degree of reusability. The state pattern, the null object pattern, and the singleton pattern are used to implement common data ...







Comments