Engenharia de software

10
Mover semântica em C ++ - Mover-retornar de variáveis ​​locais

Meu entendimento é que no C ++ 11, quando você retorna uma variável local de uma função por valor, o compilador pode tratar essa variável como uma referência de valor r e 'movê-la para fora da função para retorná-la (se O RVO / NRVO não acontece, é claro). Minha pergunta é: isso não pode quebrar o...

10
O remetente de um evento sempre deve ser um objeto genérico?

Ao programar eventos em C #, é recomendável criar um delegado na forma de: delegate XEventHandler(object sender, XEventArgs e); Minha pergunta está no primeiro argumento do delegado object sender,. Sempre tem que ser genérico object? Ter um remetente do tipo objectsempre resulta em código...

10
TDD com padrão de repositório

No meu novo projeto, decidi tentar com o TDD. E, no começo, encontrei um problema. A primeira coisa que quero fazer no meu aplicativo é oferecer a capacidade de ler dados da fonte de dados. Para esse propósito, quero usar o padrão de repositório. E agora: Se test for para implementação real da...

10
Maneira adequada de lidar com EINTR em bibliotecas

Qual é a etiqueta recomendada quando se trata de EINTRbibliotecas? No momento, estou escrevendo uma função que executa algumas tarefas do sistema de arquivos com a API POSIX, mas muitas das chamadas que utilizo podem potencialmente retornar EINTR. Além disso, a função pode bloquear em algumas...

10
Padrão de repositório x Entidades de gerenciamento do DAO

Eu sou novo em conceitos como DAO, DAL e Domain Driven Design. No final, quero dissociar a camada de persistência (banco de dados mysql) dos meus objetos de negócios e lógica em um aplicativo da web. Gostei do conceito DAO, mas fiquei preso ao implementá-lo quando quero criar um Objeto de Negócios...

10
Como evitar interfaces de bate-papo

Antecedentes: estou projetando um aplicativo de servidor e criando DLLs separadas para diferentes subsistemas. Para simplificar, digamos que eu tenha dois subsistemas: 1) Users2)Projects A interface pública do usuário possui um método como: IEnumerable<User> GetUser(int id); E a...