Programação  •  Desenvolvimento Windows

N Rainhas em C#

★★★★★

Um code kata, usando o problema das N-Rainhas, numa abordagem TDD, recorrendo a classes, recursividade, interfaces, factories e o Strategy Pattern.

Cap 1  •   Introdução

O problema das N-Rainhas
3 min Assistir
Exemplo de resolução para N = 4
4 min Assistir

Cap 2  •   Implementação de uma solução recursiva

Preparar a solução - ambiente
8 min Assistir
Solução para N = 4, Estrutura de dados e comportamento
1 min Assistir
Implementar o teste principal, que resolva para N = 4
9 min Assistir
Garantir a compilação do teste
4 min Assistir
Ultrapassar os primeiros asserts do nosso test
6 min Assistir
Implementação do processo recursivo - Inicio do ciclo
5 min Assistir
Inclusão de uma classe de testes para Tabuleiro
5 min Assistir
Rotina de posicionamento das rainhas, recursiva com backtracking
6 min Assistir
Implementação de testes e o método Tabuleiro.ColocaRainha(...)
7 min Assistir
Implementacao de Tabuleiro.RemoveRainha()
4 min Assistir
Implementacao de Tabuleiro.TemMaisColunas()
6 min Assistir
ColocaRainhasRecusivamente e ColocaRainhaNaColunaSeguinte
4 min Assistir
Observações sobre o teste de validade de uma casa para uma rainha
6 min Assistir
Implementação de CasaValidaParaRainha
13 min Assistir
Implementação de Tabuleiro.ComSolucaoValido
8 min Assistir
Implmentação de ValidadorTabulerio
13 min Assistir
Finalização de Tabuleiro
1 min Assistir

Cap 3  •   Refactoring da Solução

Remover Dependências em Solucionador
6 min Assistir
Remover ComSolucaoValida de Tabuleiro
3 min Assistir
Extração de CasaValidaParaRainha de ValidadorTabuleiro
6 min Assistir
Extração de CasaValidaParaRainha de SolucionadorRecursivo
2 min Assistir
Passar IValidadorPosicao pelo construtor?
3 min Assistir
Testes para as classes de ValidadorPosicao
12 min Assistir

Cap 4  •   Procurando eficiência

Heurísticas para soluções rápidas
9 min Assistir
Introduzir ISolucionador como interface de SolucionadorRecursivo
8 min Assistir
Implementacao de SolucionadorEscada
10 min Assistir
Implementação do SolucionadorEscada (Parte 2)
5 min Assistir
Inclusão de uma classe base Solucionador
4 min Assistir
Implementação de SolucionadorResto2
10 min Assistir
Implementação de SolucionadorResto3
4 min Assistir
Implementação do SolucionadorFactory
11 min Assistir
Modificação da aplicação de temporização
2 min Assistir
Videos
34 Videos
Duração
208 min
Subscritores
0 Subscritores

Miguel Alho
Miguel Alho

Sou programador, principalmente, mas gosto muito das áreas criativas e tecnológicas. E gosto de ensinar. Actualmente, dirijo a minha empresa (Miguel Alho - Multimédia Uni. Lda.) e desenvolvo o JáSei!.pt e algumas formações aqui presentes.

Siga este formador