java - Los "Patrones de arquitectura de aplicaciones empresariales" de Fowler siguen siendo relevantes?
java-ee architecture (9)
¡Absolutamente!
El libro es un clásico. Acabo de volver a leerlo para ayudar con algo de trabajo en sistemas de contabilidad impulsados por eventos.
Fowler ha estado revisando algunos de los patrones desde entonces y puedes ver sus trabajos en progreso .
Estoy pensando en comprar "Patrones de arquitectura de aplicaciones empresariales" de Martin Fowler.
Por lo que puedo ver, parece un gran libro, un libro de arquitectura con tendencia hacia la empresa Java, justo lo que necesito.
Sin embargo, en años de computación, es bastante viejo. 2003 fue hace mucho tiempo, y las cosas han cambiado bastante desde ese momento.
Entonces me pregunto si alguien me puede decir: ¿este libro sigue siendo relevante y merece la pena leerlo?
Actualmente es el libro de texto utilizado en el curso Principios de diseño de sistemas de información de mi universidad .
Dado que las respuestas a esta pregunta tienen ahora tres años, me pareció importante replantear la relevancia de los patrones de Martin Fowler.
El libro de patrones de diseño de GOF se publicó por primera vez en 1994, y muchos de sus patrones todavía se consideran relevantes. Podemos haber llegado a una comprensión más profunda de ellos y producido variantes sutiles, pero están ahí como la base de cualquier buen diseño OO.
Los lenguajes modernos implementan cada vez más algunos de los patrones detrás de las escenas, de modo que el desarrollador, en teoría, no tiene que saber nada sobre ellos (un ejemplo es el patrón Iterator a través de la declaración de yield
en C #). Pero, el desarrollador es mejor para conocerlos.
Avanzar en el libro de Martin: esto sigue siendo relevante. Es cierto que muchas bibliotecas ahora admiten estos patrones en segundo plano, una vez más los abstraen del desarrollador, pero nuevamente son el núcleo del desarrollo de software de aplicaciones empresariales.
Resuelven problemas que ocurren una y otra vez, independientemente del idioma, sistema o plataforma.
Es muy relevante. Frecuentemente remito a otros desarrolladores a patrones particulares de ese libro, como enlaces a su sitio ( http://www.martinfowler.com/eaaCatalog/ ), como Data Transfer Object y Service Layer .
Este último es uno que pensé que había "inventado" hasta que vi que Fowler ya había escrito sobre él.
Este libro, y el libro de Eric Evans sobre el Diseño Dirigido por el Dominio , son mis libros del año, todos los años;) ...
Muy relevante, y ciertamente no está encadenado a un idioma. Sea testigo de la próxima mudanza de Rails a Merb, en un sentido muy real, pasar de un patrón en POEAA (ActiveRecord) a otro (DataMapper).
Muchos otros conceptos, desde las estrategias de ORM hasta la gestión de sesiones, son relevantes y no son del lenguaje. Todavía estoy impresionado cuando leo esto sobre la gran influencia de Fowler. Él no inventó todos los conceptos aquí, pero sin duda codificó y puso nombres a estas ideas de una manera tan concisa y accesible como para hacer que sean un lenguaje común en toda la industria. Aún es esencial.
No estoy de acuerdo con la declaración de "sesgo hacia Java". Los patrones, por su naturaleza, son independientes del lenguaje. Se definen como soluciones a problemas comunes. La copia del libro de Fowler tiene ejemplos tanto en Java como en C #, así que no puedo ver dónde entra el "sesgo". Son los lenguajes más comunes orientados a objetos, y él está hablando de soluciones orientadas a objetos para problemas empresariales.
El libro de GoF tiene ejemplos en Smalltalk y C ++. ¿Por qué son tan "sesgados" contra Java y C #? Sugerencia: los idiomas no existían cuando se escribió ese libro, pero los patrones son tan relevantes como siempre.
Sí, el libro sigue siendo relevante. Puede recoger copias usadas en Amazon si le preocupa su valor y lo vende a través del mismo canal.
Sí, sigue siendo muy relevante y un excelente recurso.