Pergunta

Eu tenho um tempo extremamente difícil figurering fora como necessidades aulas para se comunicar uns com os outros. Em um projeto atual que estou fazendo, muitas classes tornaram-se tão arraigado que eu comecei a fazer Singletons e campos estáticos para se locomover (a partir do que eu recebo esta é uma má idéia).

É difícil expressar o meu problema e é como outros programadores não tem esse problema. Aqui está uma imagem de uma parte do programa: Classe diagrama

  • ex1. Quando eu criar um objeto Destination ele precisa de informações a partir Painel de Informações do. Como fazer isso sem fazer um getter estático no Painel de Informações do?

  • ex2. DestinationRouting é usado em everybranch. Eu realmente tenho que fazê-lo no arranque e, em seguida, passá-lo para baixo em todos os ramos?

Não sei se isso faz sentido para ninguém :) É um problema que está reacurring em cada projeto.

Foi útil?

Solução

Há apenas muito pouca informação aqui. Por exemplo, eu não sou mesmo certo se MapPanel e InfoPanel deve ser do jeito que são. Eu estaria tentado a dar o padrão decorador uma tentativa para o que vale a pena. Eu não sei por que um Listener é um filho de um Painel de qualquer um. Precisamos saber o que esses objetos são e qual o sistema que é isso.

Outras dicas

Depois de olhar para o seu diagrama de classe, eu acho que você está aplicando uma mentalidade processual a um problema OO. Seus singletons parecem conter todo o comportamento que operam sobre os registros em seu modelo de domínio e os registros têm muito pouco comportamento.

A fim de obter uma melhor compreensão do seu modelo de objeto, eu tentaria e categorizar as relações (linhas) em seu diagrama de classes como um dos "é-um", "tem-um", etc., para que você pode ver melhor o que você tem.

Destination precisa de algumas informações do Painel de Informações do, mas não é provável todas as informações. É possível passar apenas as informações necessárias para Destino vez de Painel de Informações do?

Em que estado está sendo capturado na classe DestinationRouting que as forças que ele seja um singleton? Será que essa informação pertencem em outro lugar?

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