Perguntas sobre 'class-design'

9
respostas

Existe algum motivo “real” para a herança múltipla ser odiada?

Sempre gostei da ideia de ter várias heranças suportadas em um idioma. Na maioria das vezes, é intencionalmente esquecido, e a suposta "substituição" é de interfaces. Interfaces simplesmente não cobrem a mesma herança múltipla terrestre, e essa...
14.11.2013 / 16:59
12
respostas

É uma prática ruim passar instâncias através de várias camadas?

No design do meu programa, muitas vezes chego ao ponto em que tenho que passar instâncias de objetos por várias classes. Por exemplo, se eu tenho um controlador que carrega um arquivo de áudio, e depois passa para um jogador, e o jogador passa p...
27.09.2012 / 14:32
6
respostas

Um getter deve lançar uma exceção se seu objeto tiver um estado inválido?

Frequentemente me deparo com esse problema, especialmente em Java, mesmo que eu ache que seja um problema geral de POO. Ou seja: levantar uma exceção revela um problema de design. Suponha que eu tenha uma classe que tenha um campo String nam...
02.11.2014 / 16:00
6
respostas

Qual seria a desvantagem de definir uma classe como uma subclasse de uma lista de si mesma?

Em um projeto recente meu, eu defini uma classe com o seguinte cabeçalho: public class Node extends ArrayList<Node> { ... } No entanto, depois de conversar com meu professor de CS, ele afirmou que a aula seria "horrível para a m...
02.11.2016 / 21:27
16
respostas

Ao usar o Princípio da Responsabilidade Única, o que constitui uma "responsabilidade"?

Parece bastante claro que "Princípio da Responsabilidade Única" não significa "só faz uma coisa". É para isso que servem os métodos. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int Custo...
27.03.2017 / 21:32
9
respostas

Está criando subclasses para instâncias específicas uma prática ruim?

Considere o seguinte design public class Person { public virtual string Name { get; } public Person (string name) { this.Name = name; } } public class Karl : Person { public override string Name { get...
29.09.2014 / 16:57
6
respostas

Prefere membros da classe ou passando argumentos entre métodos internos?

Suponha que dentro da parte privada de uma classe exista um valor que é utilizado por múltiplos métodos privados. As pessoas preferem ter isso definido como uma variável de membro para a classe ou passando-a como um argumento para cada um dos mé...
27.09.2011 / 23:27
3
respostas

Por que preferir classes internas não-estáticas em relação a estáticas?

Esta questão é sobre como fazer uma classe aninhada em Java para ser uma classe aninhada estática ou uma classe aninhada interna. Eu procurei por aqui e no Stack Overflow, mas não consegui encontrar nenhuma pergunta sobre as implicações de desig...
12.05.2014 / 09:43
5
respostas

É uma boa prática criar um ClassCollection de outra classe?

Vamos dizer que tenho uma classe Car : public class Car { public string Engine { get; set; } public string Seat { get; set; } public string Tires { get; set; } } Digamos que estamos criando um sistema sobre um estacionamento...
25.04.2013 / 18:45
3
respostas

Parâmetros opcionais ou construtores sobrecarregados

Estou implementando um DelegateCommand e, quando estava prestes a implementar o (s) construtor (es), desenvolvi as duas opções de design a seguir: 1: Tendo vários construtores sobrecarregados public DelegateCommand(Action<T> execu...
27.03.2018 / 09:04