Discussion:
Usar tipagem fraca ou forte?
(too old to reply)
Ricardo Almeida
2006-07-12 21:55:01 UTC
Permalink
Se eu tenho um IEntity que seria uma interface base para todas minha
entidades e derivada dela eu tivesse um IAluno e IProfessor (que implementa
IEntity).
Ao fazer minha classes de negocio de aluno, ficaria mais correto eu criar
meus metodos de negocios com parametros do tipo IEntity ou IAluno, meu colega
acha que com IEntity o sistema fica mais expansivel, mas eu acho que assim a
tipagem fica mais fraca, o que vcs aconselham? outra duvida é em relação a
propriedades de uma entidade por exemplo, professor terá um IList com suas
titulações, esse IList deveria ser tipado fortemente para só aceitar objetos
do tipo ITitulacao, ou melhor seria deixa fracamente tipado para aceitar
qualquer tipo de objeto?

ps: tenho as classe concretas Aluno, Professor, Titulacao, que
respectivamente implementam IAluno, IProfessor, ITitulacao, que por sua vez
implementam IEntity. Não quero acoplar nunca a uma classe concreta, a duvida
está em associar pela IEntity ou as suas derivadas.

Obrigado a todos, qualquer duvida eu poderei esclarecer melhor a pergunta.
Otavio
2006-07-20 13:48:01 UTC
Permalink
Ricardo,
Você deve sempre usar a Interface que tem os verbos para o que você quer
fazer.
Por exemplo, se você quer fazer algo com o aluno (cadastrar, mudar endereço,
etc), vc deve usar IAluno. Se vc precisa fazer somente algo mais genérico
(relativo a Entity), vc deve usar IEntity.
[]'s
Post by Ricardo Almeida
Se eu tenho um IEntity que seria uma interface base para todas minha
entidades e derivada dela eu tivesse um IAluno e IProfessor (que implementa
IEntity).
Ao fazer minha classes de negocio de aluno, ficaria mais correto eu criar
meus metodos de negocios com parametros do tipo IEntity ou IAluno, meu colega
acha que com IEntity o sistema fica mais expansivel, mas eu acho que assim a
tipagem fica mais fraca, o que vcs aconselham? outra duvida é em relação a
propriedades de uma entidade por exemplo, professor terá um IList com suas
titulações, esse IList deveria ser tipado fortemente para só aceitar objetos
do tipo ITitulacao, ou melhor seria deixa fracamente tipado para aceitar
qualquer tipo de objeto?
ps: tenho as classe concretas Aluno, Professor, Titulacao, que
respectivamente implementam IAluno, IProfessor, ITitulacao, que por sua vez
implementam IEntity. Não quero acoplar nunca a uma classe concreta, a duvida
está em associar pela IEntity ou as suas derivadas.
Obrigado a todos, qualquer duvida eu poderei esclarecer melhor a pergunta.
Loading...