The Proceedings of the Thirtieth SIGCSE Technical Symposium on Computer Science Education 1999
DOI: 10.1145/299649.299693
|View full text |Cite
|
Sign up to set email alerts
|

Patterns for decoupling data structures and algorithms

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 iu this mauner, we can more effectiv… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2004
2004
2008
2008

Publication Types

Select...
4
4

Relationship

0
8

Authors

Journals

citations
Cited by 17 publications
(7 citation statements)
references
References 1 publication
0
7
0
Order By: Relevance
“…The other extensible operating systems are exokernel [15], DEIMOS [19] and SPIN [20]. Other than the extensible and reconfigurable designs of operating system kernels, researchers have proposed to decouple the data objects and algorithm implementations in order to introduce flexibility in software architecture [17] [18]. The dynamic reconfiguration of the software system architecture gets easily realizable by decoupling the core data objects from the algorithm implementation.…”
Section: Related Workmentioning
confidence: 99%
“…The other extensible operating systems are exokernel [15], DEIMOS [19] and SPIN [20]. Other than the extensible and reconfigurable designs of operating system kernels, researchers have proposed to decouple the data objects and algorithm implementations in order to introduce flexibility in software architecture [17] [18]. The dynamic reconfiguration of the software system architecture gets easily realizable by decoupling the core data objects from the algorithm implementation.…”
Section: Related Workmentioning
confidence: 99%
“…An act command and a draw command are sent out by SimEngine to all fish at every time tick of the simulation. These commands are double-dispatching, akin to a degenerate, single-host visitor [3]. When the agent applies the command, it passes itself in as the input parameter.…”
Section: Design Overviewmentioning
confidence: 99%
“…For example, they might be used to introduce a generalization of sorting algorithms [6] or to provide a new approach to teaching the standard introductory data structures material [7]. They might also provide interesting programming examples and exercises to reinforce object-oriented programming concepts and introduce design patterns into the introductory sequence [8][9][10]. Some textbooks use standard Java libraries such as the Collections, Swing, and input/output frameworks and case studies such as drawing pads as examples to illustrate the concepts and techniques [11].…”
Section: Introductionmentioning
confidence: 99%