Skip to main content

2014 | OriginalPaper | Buchkapitel

3. Data Structures, Patterns, and UML

verfasst von : Jiri Soukup, Raj Lokanath, Martin Soukup

Erschienen in: Serialization and Persistent Objects

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

An essential part of every persistent system are persistent class libraries. Existing class libraries have two flaws: They cannot store bi-directional associations, and they do not treat associations (relations) as first class entities. We need a new paradigm for the proper design of these libraries. We will treat data structures as a database, and implement databases as data structures. The architecture will be controlled by a textual schema, not by the UML class diagram. However, this diagram will be automatically generated from the textual schema. This is just the opposite to what probably expect.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
In this chapter, we use the term pointer for both pointers and references.
 
2
Or with a combination of both, but let’s keep it simple for now.
 
3
Here we have another connection between persistence and data structures.
 
4
The breaks between sections are shown as a comma here but not recorded during the calculation.
 
6
How to perform this insertion is the prime subject of his chapter.
 
7
If the same text appears twice, one of the lines is a copy of the other.
 
8
Unless he is very very old.
 
9
This is not the aimplementation style we recommend for intrusive Aggregate, but watch what will happen.
 
10
See the line marked with // <<<<.
 
11
This is the implementation style we prefer and highly recommend.
 
12
We tested that, in this example, using the same name works, but it a general case it may cause problems.
 
13
This was the way the InCode library was populated.
 
14
This is just a code snippet, with no code on the website.
 
15
All library-related expressions in DOL have prefix ZZ.
 
16
On the website at incode/alib/lib for C++, incode/jlib/lib for Java.
 
17
We did not make any changes in the code of stl_list.h.
 
18
With the exception of the built-in C preprocessor (macros).
 
19
The steps are similar in VS2008, and probably in VS2012.
 
20
Subdirectory alib is for C++, c:\InCode\jlib is for Java.
 
21
Full source bk\chap3\cg.sh.
 
22
After discarding the negative sign.
 
23
Classes that represent data structures in the style described here.
 
24
This is how the Code Farms’ Pattern Template Library (PTL) works.
 
25
The use of code generator in PTL is optional.
 
27
See his book “The timeless way of building”, published by Oxford University Press in 1979.
 
28
Proceedings edited by J.O. Coplien and D.C. Schmidt, and published by Addison-Wesley in 1995.
 
29
Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison-Wesley.
 
30
The pattern part will be explained later in this chapter.
 
31
Soukup J (1994) Implementing patterns. PLoP conference, pp. 395–412.
 
32
If you want to traverse Composition both up and down, then deriving it from Aggregate would make more sense.
 
33
If class Line participates in some other data structures or patterns, the statement would take this form:
class Line : public Part, public Pattern(Line){
 
34
This example is for the singly-linked, bi-directional Composite.
 
35
Section 3.5 expands on this subject.
 
36
For InCode, this is true not only in C++, but also in Java and Objective-C.
 
37
Plauger PJ, Stepanov AA, Lee M, Musser DR (2000) The C++ standard template Library. Prentice Hall, pp 290–292.
 
38
DOL, InCode, PTL and the PPF/InCode combination.
 
39
InCode, DOL, and PTL.
 
40
Certain permutations of rows in this listing may cause a crash of the Layout program. This is a reported bug scheduled for repair.
 
41
Sometimes referred to by the former title “The Popularity Cycle of Graphical Tools, UML, and Libraries of Associations.”
 
42
Aspect implementation for Java; different implementation for C++ is also available.
 
44
Stephen Nelson, David J. Pearce and James Noble.
 
Literatur
Zurück zum Zitat Nelson S, Pearce DJ, Noble J (2007) First-class relationships in object oriented programs. University of Auckland Software Engineering Workshop (SIENZ) 2007 Nelson S, Pearce DJ, Noble J (2007) First-class relationships in object oriented programs. University of Auckland Software Engineering Workshop (SIENZ) 2007
Zurück zum Zitat Pearce DJ, Noble J (2006) Relationship aspects. AOSD 06 conference, Bonn, Germany, 20–24 March, 2006 Pearce DJ, Noble J (2006) Relationship aspects. AOSD 06 conference, Bonn, Germany, 20–24 March, 2006
Zurück zum Zitat Spinczyk O, Lohmann D (2007) The design and implementation of AspectC++. Knowl Based Syst Spec Issue Tech Prod Intell Secur Softw 20(7):636–651 Spinczyk O, Lohmann D (2007) The design and implementation of AspectC++. Knowl Based Syst Spec Issue Tech Prod Intell Secur Softw 20(7):636–651
Metadaten
Titel
Data Structures, Patterns, and UML
verfasst von
Jiri Soukup
Raj Lokanath
Martin Soukup
Copyright-Jahr
2014
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-642-39323-5_3

Premium Partner