Eu escrevi um livro, um release preliminar, sobre como criar aplicativos da Web do zero.
Eu li muitos livros sobre programação, mas muitas vezes depois de ler eu tinha apenas uma pergunta - Como coloco esse conhecimento em prática?
Suponha que você seja um desenvolvedor de um sistema de automação, portal ou loja online.
A adição de novas funcionalidades é complicada pelas camadas de código. A execução dos testes leva meia hora e o lançamento leva uma hora. A idéia de mudar para uma nova versão do framework causa espasmos nervosos. Você aprenderá que o PostgreSQL tem suporte para matrizes, jsonb, pesquisa de texto completo e junção lateral, mas o ORM não permite que eles sejam usados em todo o seu potencial. Você leu sobre o TDD, mas como escrever nesse estilo quando o analista descreve os cenários e a estrutura exige a criação de um modelo, controlador e apresentação?
Como aplicar o SOLID se as entidades herdam do ORM?
Como se livrar da dor?
Gradualmente, enquanto estudava Clojure e, finalmente, depois de ler a Arquitetura Limpa, percebi como escrever sem problemas um aplicativo em que o domínio está em primeiro lugar, e não a estrutura em que tomo decisões, e não os criadores das estruturas que impõem suas próprias.
Até certo ponto, o livro pode ser visto como um tutorial prático sobre Clojure,
portanto, o conhecimento desse idioma não é necessário.
O livro, no mínimo, ensinará você a ler o código Clojure.
Analisaremos os pontos fundamentais, a saber: polimorfismo e gestão do estado.
Como prática, implementamos a mônada Ou.
No segundo capítulo, apresentarei idéias básicas de design:
- Design orientado a objetos
- Princípios do SOLID
- Arquitetura limpa
- Design orientado a domínio
- Injeção de dependência
- Técnicas para trabalhar com o banco de dados
Nos capítulos seguintes, descreverei como criar um aplicativo com base nesses princípios.
Começaremos com a lógica comercial, implementaremos casos de uso, adiaremos a adoção de soluções técnicas usando abstrações.
Entregamos o aplicativo ao usuário usando tecnologias da web.
Vamos analisar o trabalho com formulários, validação.
Considere a implementação da abstração de armazenamento com base nos padrões Data Maper, Mapa de Identidade e Unidade de Trabalho.
Tentei me concentrar em coisas realmente importantes, em vez de redigitar a documentação.
Ao ler, você terá que procurar e estudar material adicional, para isso eu dou links.
O livro contém exercícios práticos. O projeto com base no qual está escrito está disponível.
É importante entender que esta é uma versão preliminar.
Certamente há problemas com a apresentação, e é importante para mim coletar feedback o mais rápido possível.
No momento, o livro não possui site, pdf ou epub.
Link do livro
Envie seus comentários para m.kuzmin+afs@darkleaf.ru