Articles of design

Design de motor de jogo baseado em componentes

Tenho estado a olhar para o design de motor de jogos (especificamente focado em motores de jogos 2D, mas também aplicável a jogos 3D), e estou interessado em algumas informações sobre como fazê-lo. Ouvi dizer que hoje em dia muitos mecanismos estão se movendo para um design baseado em componentes, em vez da tradicional hierarquia […]

Por que usamos a interface? É apenas para padronização?

Por que usamos a interface? É apenas para padronização?

Herança baseada em protótipo vs.

Em JavaScript, todo object é ao mesmo tempo uma instância e uma class. Para fazer inheritance, você pode usar qualquer instância de object como um protótipo. Em Python, C ++, etc., existem classs e instâncias, como conceitos separados. Para fazer inheritance, você precisa usar a class base para criar uma nova class, que pode então […]

Strings como chaves primárias no database SQL

Eu não estou muito familiarizado com bancos de dados e as teorias por trás de como eles funcionam. É mais lento do ponto de vista do desempenho (inserir / atualizar / consultar) para usar Strings for Primary Keys do que inteiros?

Quantos parâmetros são muitos?

Rotinas podem ter parâmetros, isso não é novidade. Você pode definir quantos parâmetros precisar, mas muitos deles dificultarão sua compreensão e manutenção. É claro, você poderia usar uma variável estruturada como solução: colocar todas essas variables ​​em uma única estrutura e passá-la para a rotina. De fato, o uso de estruturas para simplificar as listas […]

Convertendo muitas declarações ‘if else’ em uma abordagem mais limpa

Meu código aqui detecta se o mimeType é igual a algum tipo MIME , se for, ele fará uma certa conversão public void convertToMp3(File src, File target,String mimeType){ if(mimeType.equals(“audio/mpeg”)){ … }else if(mimeType.equals(“audio/wav”)){ mp3ToWav(); }else if(mimeType.equals(“audio/ogg”)){ … }else if(…){ … //More if and else here } Eu encurtei o meu código, porque tem muito mais se […]

Por que Java tem um erro de compilador de “instrução inacessível”?

Muitas vezes eu acho que ao depurar um programa é conveniente (embora seja uma prática indiscutivelmente ruim) inserir uma declaração de retorno dentro de um bloco de código. Eu poderia tentar algo assim em Java …. class Test { public static void main(String args[]) { System.out.println(“hello world”); return; System.out.println(“i think this line might cause a […]

Diferença entre events e delegates e suas respectivas aplicações

Eu não vejo vantagens em usar events sobre delegates, além de ser um açúcar sintático. Talvez eu seja mal-entendido, mas parece que o evento é apenas um espaço reservado para o delegado. Você me explicaria as diferenças e quando usar qual? Quais são as vantagens e desvantagens? Nosso código está fortemente enraizado em events, e […]

É melhor criar um singleton para acessar o container da unidade ou passá-lo pelo aplicativo?

Eu estou mergulhando meu dedo em usando um quadro de IoC e escolhi usar o Unity. Uma das coisas que ainda não entendo completamente é como resolver objects mais profundamente no aplicativo. Eu suspeito que eu não tive a lâmpada no momento que vai deixar claro. Então, eu estou tentando fazer algo como o seguinte […]

Por que o Rust não suporta o upcasting do object de traço?

Dado este código: trait Base { fn a(&self); fn b(&self); fn c(&self); fn d(&self); } trait Derived : Base { fn e(&self); fn f(&self); fn g(&self); } struct S; impl Derived for S { fn e(&self) {} fn f(&self) {} fn g(&self) {} } impl Base for S { fn a(&self) {} fn b(&self) {} […]