├── README.md └── desafio.kt /README.md: -------------------------------------------------------------------------------- 1 | # Aprenda Kotlin Com Exemplos: Desafio de Projeto (Lab) 2 | 3 | Desafio de Projeto criado para avaliação do conteúdo técnico explorado no repositório [aprenda-kotlin-com-exemplos](https://github.com/digitalinnovationone/aprenda-kotlin-com-exemplos). **Nesse contexto, iremos abstrair o seguinte domínio de aplicação:** 4 | 5 | **A [DIO](https://web.dio.me) possui `Formacoes` incríveis que têm como objetivo oferecer um conjunto de `ConteudosEducacionais` voltados para uma stack tecnológica específica, preparando profissionais de TI para o mercado de trabalho. `Formacoes` possuem algumas características importantes, como `nome`, `nivel` e seus respectivos `conteudosEducacionais`. Além disso, tais experiências educacionais têm um comportamento relevante ao nosso domínio, definido pela capacidade de `matricular` um ou mais `Alunos`.** 6 | 7 | 8 | ```kotlin 9 | TODO("Crie uma solução em Koltin abstraindo esse domínio. O arquivo [desafio.kt] te ajudará 😉") 10 | ``` 11 | -------------------------------------------------------------------------------- /desafio.kt: -------------------------------------------------------------------------------- 1 | // [Template no Kotlin Playground](https://pl.kotl.in/WcteahpyN) 2 | 3 | enum class Nivel { BASICO, INTERMEDIARIO, DIFICIL } 4 | 5 | class Usuario 6 | 7 | data class ConteudoEducacional(var nome: String, val duracao: Int = 60) 8 | 9 | data class Formacao(val nome: String, var conteudos: List) { 10 | 11 | val inscritos = mutableListOf() 12 | 13 | fun matricular(usuario: Usuario) { 14 | TODO("Utilize o parâmetro $usuario para simular uma matrícula (usar a lista de $inscritos).") 15 | } 16 | } 17 | 18 | fun main() { 19 | TODO("Analise as classes modeladas para este domínio de aplicação e pense em formas de evoluí-las.") 20 | TODO("Simule alguns cenários de teste. Para isso, crie alguns objetos usando as classes em questão.") 21 | } 22 | --------------------------------------------------------------------------------