Perguntas com a marcação «object-oriented-design»

O design orientado a objetos é o processo de planejar um sistema de objetos em interação com o objetivo de resolver um problema de software.

1
Quando usar traços, em oposição à herança e composição?
Existem três maneiras comuns, AFAIK, de implementar a reutilização quando se trata de OOP Herança: geralmente representar é um relacionamento (um pato é um pássaro) Composição: geralmente para representar um relacionamento tem (um carro tem um motor) Traits (por exemplo, a palavra-chave trait em PHP): ... não tenho muita certeza …






4
A interface da lista é uma abstração com vazamento?
Se eu tiver uma variável que contenha a, Listela poderá conter objetos de vários tipos diferentes, por exemplo, ArrayListou LinkedList. A diferença entre a LinkedListe um ArrayListé bem grande. O grande comportamento O dos métodos difere bastante. Por exemplo, classificar Liste usá-lo para fazer pesquisas binárias é perfeitamente aceitável para …





8
Violação de princípio de responsabilidade única?
Recentemente, entrei em um debate com outro desenvolvedor sobre a classe abaixo: public class GroupBillingPayment { public void Save(IGroupBillingPayment model) { if (model == null || UserInfo.UserID == 0) { throw new Exception("GroupBillingPayment object or Current User Id is NULL , Please Contact Administrator."); } Data.GroupBillingPayment groupBillingPayment = RepositoryManager.GroupBillingPaymentRepository.GetById(model.GroupBillingPaymentID); Mapper.Map(model, …

4
Como posso gerenciar a base de código de software significativamente complexo?
Costumo criar programas para mim e para os outros usando várias linguagens de programação orientadas a objetos. Ao fazer isso, eles geralmente são relativamente pequenos (alguns milhares de linhas no máximo). Recentemente, no entanto, tenho tentado fazer projetos maiores, como mecanismos de jogos completos. Ao fazê-lo, pareço frequentemente encontrar um …



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.