O que deve um objeto parece?

votos
1

Estou constantemente a debater a melhor forma de criar minhas aulas.

Com isto quero dizer por que não nós sempre criar uma classe que implementa INotifyPropertyChanged e IDataErrorInfo para que se queremos podemos ligar diretamente em nossas formas, e por que não nós sempre decorá-los com os atributos para que se quisermos podemos usar a classe no WCF?

Quero dizer além do código extra óbvio, e mais testes costuma isso nos dará maior flexibilidade?

Eu sempre ouvi - 'criar uma vez' e usar 'todos os lugares', mas eu também sou em sintonia com 'YAGNI' (você aint vai precisar dele).

Acho que minha pergunta aqui é se a ideia de 'uma classe de negócios' do que pode ser re-utilizado morto? e dizemos 'criar o mais básico' que funciona para agora, e construir sobre ele quando necessário?

R

Publicado 27/08/2009 em 06:13
fonte usuário
Em outras línguas...                            


4 respostas

votos
1

Eu acho que é geralmente melhor para tornar as suas aulas mais focadas para um pequeno conjunto de tarefas específicas, em vez de criar objetos que podem ser usados ​​em uma variedade de cenários. Por exemplo, você pode ter objetos de camada de dados que têm todos os atributos / comportamentos, objetos da camada de apresentação específicos da camada de dados com todas as coisas camada de apresentação, e objetos da camada de serviço, etc.

Se você fazer suas aulas também "todo-poderoso" você vai acabar criando um monte de dependências em suas diferentes camadas, o que torna muito mais difícil de mudar no futuro. Faça uma busca no Google por "princípio da responsabilidade única" - é um dos princípios "sólida" de OO.

Respondeu 27/08/2009 em 06:18
fonte usuário

votos
0

Se você fizer isso, onde você desenhar a linha? Você vai fazer todas as suas classes de exceções porque algum dia você pode querer jogá-los de algum lugar? Você está indo para torná-los todos serializado?

Outra forma de pensar sobre isso é que os projetistas da linguagem já tomou essa decisão para você - todas as classes herdam automaticamente do objeto, que contém tudo o que um necessidades "gerais" de objetos.

Finalmente, não confunda a reutilização de código com a escrita de código desnecessário. Em geral, você só deve escrever o código que você precisa agora, mas projetá-lo de modo que é fácil de usar / mudança no futuro.

Respondeu 27/08/2009 em 06:27
fonte usuário

votos
0

Primeiro, os programadores são preguiçosos, nosso modivation é automatizar tarefas chatas. (Não, eu não estou sendo negativo) Nós geralmente escrever classes para servir a um propósito particular que sinala que tipo de bits extras entrar nele. Você está fazendo a pergunta básica que a programação orientada a aspectos tenta responder. É minha classe a trocar? É minha classe um contêiner de dados? É minha classe observável? Estes são aspectos a sua classe pode ser todas essas coisas dependendo do uso. Ou pode sempre apenas ser um deles.

Respondeu 27/08/2009 em 06:25
fonte usuário

votos
0

Eu crio muitas, muitas classes que são muito distantes da UI. Implementar essas interfaces cada vez que seria um Burder pesado, com a recompensa mínima.

Respondeu 27/08/2009 em 06:20
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more