Guia de padrões de design e boas praticas em Kotlin
Aluno Cainã Setti Galante
Supervisionado por Alfredo Goldman vel Lejbman
Resumo do Trabalho
Esta monografia aborda a implementação de padrões de projeto nas linguagens de programação Java e Kotlin, destacando suas características distintas e influências no desenvolvimento de software. Inicialmente, são apresentados os conceitos fundamentais dos padrões de projeto, ressaltando sua natureza abstrata e aplicabilidade em soluções recorrentes. Os padrões criacionais, estruturais e comportamentais são explorados em ambos os contextos, evidenciando as nuances e divergências entre as implementações.
No âmbito dos padrões criacionais, como Singleton, Factory Method e Abstract Factory, analisa-se como as diferenças sintáticas entre Java e Kotlin impactam a legibilidade e a eficiência do código. O segundo capítulo explora padrões estruturais, como Decorator, Adapter e Bridge, destacando como essas abordagens contribuem para a organização e extensibilidade do código. No terceiro capítulo, padrões comportamentais como Strategy, State, Iterator e Observer são examinados, ressaltando suas aplicações e como podem ser otimizados em ambas as linguagens.
A análise comparativa entre Java e Kotlin estende-se ao quarto capítulo, onde são refletidos os benefícios e desafios de cada linguagem na implementação dos padrões de projeto. Destaca-se a concisão e expressividade da sintaxe Kotlin, que pode simplificar a escrita de código e aumentar a eficiência do desenvolvimento.
O capítulo de conclusão sintetiza as principais descobertas e implicações do estudo, enfatizando como a escolha da linguagem de programação impacta a aplicação prática dos padrões de projeto. A discussão destaca as vantagens de Kotlin em diversos cenários, encorajando desenvolvedores a considerar essa linguagem como uma alternativa viável.
Motivação
Como atualmente, Design Patterns são fundamentais para desenvolvimento de software e o uso de Kotlin vem crescendo nos últimos anos é interessante manter um material atualizado em português.