Frage

Wenn ich eine Klasse mit einer Karte Mitglied habe, mag ich nicht ein eigenes Klasse / Interface-Objekt ziehen, um die Karte selbst zu repräsentieren, aber ich würde es vorziehen, um die Karte zu behandeln, als ob es ein nativer Typ war, eher als ein komplexes Objekt.

Betrachten Sie das folgende Beispiel

public class IndexManagerImpl implements IndexManager {
    /* ... */

    private static Map<Searcher, Integer> searcherCache;
}

Ich möchte die Tatsache hervorheben, dass ein IndexManagerImpl hält (wenn auch indirekt) Referenzen Instanzen Searcher. Es wäre toll, wenn die Darstellung auch die Typparameter von searcherCache zeigen kann.

War es hilfreich?

Lösung

A mit Martin nicht einverstanden ... MAP ist eine grundlegende Datenstruktur, die wir in jedem Computer Graduierung Kurs lernen! Es exsists in den meisten modernen Sprachen und ist eine wichtige Design-Ressource für Analysten. Eine Karte kann als Verein in einigen Situationen gezogen werden, sondern eine Art Verlängerung (Stereotyp) benötigt werden oder Sie können eine Template-Klasse definieren. Ich weiß nicht wie das Template Ansatz - es versteckt die Verbände btw die wichtigsten Akteure. Die letzte Ressource ist die AssociationClass, eine spezielle UML-Klasse verwendete nxn Beziehungen mit Attributen zu definieren, was ich denke, Anzüge Ihr Problem, wo das „integer“ Feld eine Art Zähler von Searchers auf den Indexmanager verwendet ist. Denken Sie daran, dass auch von Code, den Sie nicht auf die andere Seite der Beziehung sehen, während UML ausgelegt ist, beide Seiten zu zeigen, Navigationsprobleme und so weiter.

Andere Tipps

Tatsächlich zeigen Sammlungsobjekte eine Eins-zu-viele-Beziehung zwischen zwei Klassen. Daher sollten Sie eine IndexManagerImpl Klasse auf dem Diagramm, die eine Eins-zu-viele-Verbindung mit einem Searcher Klasse

Karten können nicht berücksichtigt Sammlungen werden, da sie als Sammlungen unterschiedliche Eigenschaften haben. Eigentlich ist eine Karte mehrere der Sammlung mit spezifischer (mapping) Beziehung. Meiner Ansicht nach ist darstellt Karte stark abhängig von der Anforderung und es könnte mehrere Karte UML-Darstellung auf Ihrer Anforderung basiert. So ist in einer einfachen Karte Beziehung Form dargestellt werden, ein bis viele Assoziation Schlüsselsatzelement und eine an einem Verband von keyset Element Wertelement. Wo Schlüsselelement und Wertelement sind Wrapper ursprüngliche Elemente als Verband nicht wirklich mit den ursprünglichen Elementen.

Hope, das hilft ....

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top