Engenharia de software

9
Interface ou classe de retorno

Suponha que eu tenha um método public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } Eu li que seria melhor retornar uma interface ( IListou IEnumerable) em vez de retornar a List....

9
printf - fonte de erros? [fechadas]

Atualmente, essa questão não se encaixa no nosso formato de perguntas e respostas. Esperamos que as respostas sejam apoiadas por fatos, referências ou conhecimentos, mas essa pergunta provavelmente solicitará debate, argumentos, pesquisas ou discussão prolongada. Se você acha que...

9
Filosofia por trás do padrão de lembranças

Eu tenho lido sobre o padrão de lembranças de várias fontes da Internet. Informações diferentes de fontes diferentes me deixaram confuso a respeito de por que esse padrão é realmente necessário. A implementação dofactory diz que a principal intenção desse padrão é restaurar o estado do sistema. O...

9
Por que a sobrecarga ao alocar objetos / matrizes em Java?

Quantos bytes uma matriz ocupa em Java? Suponha que seja uma máquina de 64 bits e também assuma que há N elementos em uma matriz, portanto todos esses elementos ocupariam 2 * N, 4 * N ou 8 * N bytes para diferentes tipos de matriz. E uma palestra em Coursera diz que ocuparia 2 * N + 24, 4 * N + 24...

9
Projeto de fábrica em cache

Eu tenho uma fábrica class XFactoryque cria objetos de class X. Como as instâncias Xsão muito grandes, o objetivo principal da fábrica é armazená-las em cache, da maneira mais transparente possível para o código do cliente. Como os objetos class Xsão imutáveis, o código a seguir parece razoável: #...

9
Qual é a melhor maneira de lidar com referências em um aplicativo .NET

Recentemente, no trabalho, encontramos um problema em que marcamos / ramificamos um projeto e tivemos alguns problemas de compilação devido às referências de dll / project que apontavam para a estrutura de pastas antiga. Criamos uma pasta 'bin externo' para cada um dos projetos e copiamos as DLLs...