El libro "Aplicaci贸n desde cero"

Escrib铆 un libro, un lanzamiento preliminar, sobre la creaci贸n de aplicaciones web desde cero.


Le铆 muchos libros sobre programaci贸n, pero a menudo despu茅s de leer solo ten铆a una pregunta: 驴c贸mo pongo en pr谩ctica este conocimiento?


Supongamos que es un desarrollador de un sistema de automatizaci贸n, portal o tienda en l铆nea.
Agregar nuevas funcionalidades es complicado por las capas de c贸digo. La ejecuci贸n de las pruebas lleva media hora, y el lanzamiento lleva una hora. La idea de cambiar a una nueva versi贸n del marco provoca espasmos nerviosos. Aprender谩 que PostgreSQL tiene soporte para matrices, jsonb, b煤squeda de texto completo y uni贸n lateral, pero ORM no permite que se utilicen en todo su potencial. Ley贸 sobre TDD, pero 驴c贸mo escribir en este estilo cuando el analista describe los escenarios y el marco requiere la creaci贸n de un modelo, controlador y presentaci贸n?


驴C贸mo aplicar SOLID si las entidades heredan de ORM?


驴C贸mo deshacerse del dolor?


Poco a poco, mientras estudiaba Clojure, y finalmente despu茅s de leer Clean Architecture, me di cuenta de c贸mo escribir sin dolor una aplicaci贸n donde el dominio est谩 en primer lugar, y no el marco donde tomo decisiones, y no los creadores de los marcos que imponen los suyos.


Hasta cierto punto, el libro puede verse como un tutorial pr谩ctico sobre Clojure,
entonces no se requiere conocimiento de este idioma.


El libro, como m铆nimo, le ense帽ar谩 a leer el c贸digo Clojure.


Analizaremos los puntos fundamentales, a saber: polimorfismo y gesti贸n del estado.
Como pr谩ctica, implementamos la m贸nada Either.


En el segundo cap铆tulo presentar茅 ideas b谩sicas de dise帽o:


  • Dise帽o orientado a objetos
  • Principios S脫LIDOS
  • Arquitectura limpia
  • Dise帽o impulsado por dominio
  • Inyecci贸n de dependencia
  • T茅cnicas para trabajar con la base de datos.

En los siguientes cap铆tulos, describir茅 c贸mo crear una aplicaci贸n basada en estos principios.


Comenzaremos con la l贸gica de negocios, implementaremos casos de uso, pospondremos la adopci贸n de soluciones t茅cnicas utilizando abstracciones.


Entregamos la aplicaci贸n al usuario utilizando tecnolog铆as web.
Analicemos el trabajo con formularios, validaci贸n.


Considere la implementaci贸n de la abstracci贸n de almacenamiento basada en los patrones Data Maper, Identity Map y Unit of Work.


Trat茅 de concentrarme en cosas realmente importantes, en lugar de volver a escribir la documentaci贸n.
Al leer, tendr谩 que buscar y estudiar material adicional, para esto le doy enlaces.


El libro contiene ejercicios pr谩cticos. El proyecto en base al cual est谩 escrito est谩 disponible.


Es importante comprender que esta es una versi贸n preliminar.


Seguramente hay problemas con la presentaci贸n, y es importante para m铆 recopilar comentarios lo antes posible.
Por el momento, el libro no tiene sitio web, ni pdf ni epub.


Enlace de libro


Env铆e sus comentarios a m.kuzmin+afs@darkleaf.ru

Source: https://habr.com/ru/post/es426537/


All Articles