Pergunta

Quando eu tiver uma classe com um membro do Mapa, eu não quero desenhar um objeto de classe / interface separada para representar o próprio mapa, mas eu prefiro para tratar o mapa como se fosse um tipo nativo, em vez de um objeto complexo.

Considere o exemplo a seguir

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

    private static Map<Searcher, Integer> searcherCache;
}

Eu gostaria de destacar o fato de que um IndexManagerImpl detém (embora indiretamente) as referências a casos Searcher. Seria ótimo se a representação também pode mostrar os parâmetros de tipo de searcherCache.

Foi útil?

Solução

A discordar Martin ... MAP é a estrutura básica de dados que nós aprendemos em qualquer curso de graduação computador! Ele exsists na maioria das línguas modernas e é um importante recurso de design para os analistas. Um mapa pode ser desenhado como uma associação em algumas situações, mas algum tipo de extensão (estereótipos) será necessária ou pode definir uma classe de modelo. Eu não gosto da abordagem de modelo - ele esconde as associações btw os jogadores principais. O último recurso é o AssociationClass, uma classe UML especial usado para definir as relações nxn com atributos, o que eu acho que se adapta ao seu problema, onde o campo "inteiro" é uma espécie de balcão de Searchers relacionada com a indexManager. Lembre-se também que, ao código que você não pode ver o outro lado da relação, enquanto a UML é projetado para mostrar ambos os lados, problemas de navegação e assim por diante.

Outras dicas

Na verdade, objetos de coleção indicam uma associação de um-para-muitos entre duas classes. Portanto, você deve ter uma classe IndexManagerImpl no seu diagrama que tem uma associação de um-para-muitos com uma classe Searcher

Maps não pode ser considerado coleções como eles têm propriedades diferentes coleções. Na verdade, um mapa é múltiplo de recolha com relação específica (mapeamento). No meu ponto de vista representando mapa é altamente dependente da exigência e pode haver vários representação mapa UML baseada em sua exigência. Assim, em uma simples relação forma mapa pode ser representado, de um para muitos associação ao elemento do conjunto de chaves e um para um elemento de associação do conjunto de chaves para elemento valor. Onde elemento chave e elemento de valor são wrappers para elementos originais como associação não são realmente com os elementos originais.

Espero que isso ajude ....

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top