Comentarios
o " Recursos de patrones de diseño " (ya que no ' significa " referencia " como solo " buscar a pedido ") y mover todas las cosas de la lista al cuerpo (o eliminarlas)?
.NET Design Patrones y orientación arquitectónica
Para algunas implementaciones decentes, solía echar un vistazo a las de dofactory (didn ' no compre los libros).
Dado que esta pregunta recibió una respuesta completa y completa, ' he cerrado las otras preguntas de patrones de diseño como duplicados de este para designarlo como el par canónico Q & A y respuesta para este tema.
Respuesta
Patrones de diseño: elementos of software reutilizable orientado a objetos se acerca mucho a mi definición de un libro canónico sobre patrones de diseño. Según su artículo de Wikipedia (el énfasis es mío):
La fecha de publicación original de el libro fue el 21 de octubre de 1994 con derechos de autor de 1995, y en julio de 2010, el libro estaba en su 38ª edición . El libro se puso a disposición del público por primera vez en la reunión de OOPSLA celebrada en Portland, Oregon, en octubre de 1994. Ha tenido una gran influencia en el campo de la ingeniería de software y se considera una fuente importante para la teoría y la práctica del diseño orientado a objetos. Se han vendido más de 500.000 copias en inglés y en otros 13 idiomas .
Ward Cunningham , un pionero de los patrones de diseño, mantiene un catálogo en línea de los patrones del libro en WikiWikiWeb . Y según el artículo de Wikipedia sobre patrón de diseño (nuevamente, el énfasis es mío):
Design patterns ganó popularidad en la informática después de que se publicara el libro Design Patterns: Elements of Reusable Object-Oriented Software en 1994 por la llamada «Gang of Four» (Gamma et al.).
Hay bastantes otros libros a los que se hace referencia en mismo artículo como notable en el género:
- Arquitectura de software orientada a patrones, volumen 1: un sistema de patrones , por Douglas Schmidt, Michael Stal, Hans Rohnert y Frank Buschmann,
- Patrones de arquitectura de aplicaciones empresariales de Martin Fowler,
- Patrones de integración empresarial: diseño, creación e implementación de soluciones de mensajería ., Por Hohpe, Gregor y Bobby Woolf, y
- Head First Design Patterns , de Eric T. Freeman, Elisabeth Robson, Bert Bates y Kathy Sierra.
De los que he leído el libro de Fowler, es muy influyente y una buena lectura. En ciertos puntos es un poco vago para mi gusto, pero en general es un libro agradable. Hay un catálogo en línea de los patrones incluidos en el libro, con descripciones mínimas.
También he hojeado Head First Design Patterns, y si ha leído cualquier otro libro de la serie Head First, es de la misma alta calidad y tan agradable como la mayoría de los libros de la serie :
Head First es una serie de libros de introducción a muchos temas, publicados por O «Reilly Media. Hace hincapié en una combinación poco ortodoxa, visualmente intensiva, que involucra al lector, de rompecabezas, bromas, diseño y maquetación no estándar, y un estilo de conversación atractivo para sumergir al lector en un tema determinado.
El término «patrón de diseño» es algo vago, ya que cada solución reutilizable general puede considerarse un patrón de diseño. Siempre he notado una tendencia a aplicar la etiqueta en las soluciones descritas en uno de los libros notables que he enumerado anteriormente, y más específicamente los libros Gang of Four y Fowler. Los patrones de diseño no siguen un proceso de desarrollo único, son una solución de software normal s que son inmensamente reutilizables y son extremadamente difíciles de identificar .
Pero si compara los catálogos en línea de ambos libros con el contenido de los libros de idiomas específicos, notará que a menudo se usan como plantillas. Por lo tanto, diría que ambos libros están muy cerca de ser canónicos referencias, siendo el libro GoF el más importante desde una perspectiva histórica, aunque ambos libros están limitados a programación orientada a objetos .
Comentarios
Respuesta
Respuesta
mg src = «https://i.stack.imgur.com/Fl7XR.gif» alt = «Head First Design Patterns» title = «Head First Design Patterns – descripción del libro en O ' Reilly Media»>
En un momento dado, en algún lugar del mundo, alguien lucha con los mismos problemas de diseño de software que usted tiene. Usted sabe que no quiere reinventar la rueda (o peor aún, un pinchazo), así que busca Patrones de diseño, las lecciones aprendidas por aquellos que han enfrentado los mismos problemas. Con Design Patterns, puedes aprovechar las mejores prácticas y la experiencia de otros, para que puedas dedicar tu tiempo a … algo más. Algo más desafiante. Algo mas complejo. Algo más divertido.
Quieres aprender sobre los patrones que importan: por qué usarlos, cuándo usarlos, cómo usarlos (y cuándo NO usarlos). Pero no solo desea ver cómo se ven los patrones en un libro, desea saber cómo se ven «en la naturaleza». En su entorno nativo. En otras palabras, en aplicaciones del mundo real. También desea aprender cómo los patrones se utilizan en la API de Java, y cómo explotar el soporte de patrones incorporado de Java en su propio código.
Quiere aprender los principios reales del diseño de OO y por qué todo lo que su jefe le dijo sobre la herencia podría estar equivocado (y qué hacer en su lugar). Desea aprender cómo esos principios le ayudarán la próxima vez que «suba por un arroyo sin un patrón de diseño.
Lo más importante es que desea aprender el» lenguaje secreto «de los patrones de diseño para poder mantener tu propio compañero de trabajo (e impresiona a los invitados al cóctel) cuando menciona casualmente su uso asombrosamente inteligente de Command, Facade, Proxy y Factory entre sorbos de un martini. Podrás contraatacar fácilmente con tu profundo conocimiento de por qué Singleton No es tan simple como parece, cómo se malinterpreta tan a menudo la Fábrica, o la relación real entre Decorador, Fachada y Adaptador.
Con Head First Design Patterns , evitará la vergüenza de pensar que Decorator es algo del programa «Trading Spaces» …
Comentarios
Responder
Respuesta
Patrones de diseño: elementos de software orientado a objetos reutilizable
De wikipedia :
Design Patterns: Elements of Reusable Object-Oriented Software es un libro de ingeniería de software que describe soluciones recurrentes a problemas comunes en software. diseño. Los autores del libro son Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides con un prólogo de Grady Booch. Los autores a menudo se conocen como la Banda de los Cuatro, GoF o Go4. El libro se divide en dos partes, con los dos primeros capítulos exploran las capacidades y las trampas de la programación orientada a objetos, y los capítulos restantes describen 23 patrones clásicos de diseño de software. El libro incluye ejemplos en C ++ y Smalltalk.
Respuesta
Uno de los mejores sitios web de patrones de diseño es el Wiki de Ward, el primer wiki. Consulte http://c2.com/cgi/wiki?HistoryOfPatterns para ver una buena página de inicio.
En 1987, Ward y Kent estaban consultando con el grupo de sistemas de prueba de semiconductores de Tektronix que estaba teniendo problemas para terminar un diseño. Decidieron probar el material de patrones que habían estado estudiando. Al igual que Alexander, quien dijo que los ocupantes de un edificio deberían diseñarlo, Ward y Kent dejaron que los representantes de los usuarios (un capacitador y un ingeniero de campo) terminaran el diseño.
Ward ideó un «lenguaje» de cinco patrones que ayudó a los diseñadores novatos a aprovechar las fortalezas de Smalltalk y evitar sus debilidades …
Ward y Kent estaban asombrados por la elegancia (ciertamente espartana) de la interfaz que diseñaron sus usuarios. Informaron los resultados de este experimento en OOPSLA 87 en Orlando. Escribieron una posición en el panel y presentaron en el taller de Norm Kerth sobre ¿De dónde vienen los objetos? Hablaron de patrones hasta que se pusieron azules en la cara y obtuvieron mucho acuerdo, pero sin patrones más concretos, nadie se apuntaba.
Mientras tanto, Erich Gamma estaba ocupado escribiendo y reflexionando sobre el diseño orientado a objetos en ET ++ como parte de su tesis doctoral. Erich se había dado cuenta de que las estructuras o patrones de diseño recurrentes eran importantes. La pregunta realmente era cómo capturarlos y comunicarlos.
Bruce Anderson dio una charla en TOOLS 90 en la que ErichGamma estuvo presente; A Erich le gustó la charla. Bruce dio un artículo en EcoopOopsla90 (Ottawa) y dirigió un BOF llamado Toward an Architecture Handbook donde él, Erich Gamma, Richard Helm y otros discutieron sobre patrones.Esa fue la primera vez que Richard y Erich se conocieron, y se dieron cuenta de que compartían ideas comunes sobre las ideas clave detrás de la escritura de software OO reutilizable.
Justo antes de ECOOP «91 Erich Gamma y Richard Helm, sentados en un en una azotea en Zurich en un sofocante día de verano, reunió los humildes comienzos del catálogo de patrones que eventualmente se convertirían en DesignPatterns …
Las cosas realmente se pusieron en marcha en el taller de OOPSLA que Bruce dirigió en 1991 Casualmente, Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides estaban todos allí; más tarde se convertirían en la Gang of Four que creó el libro Design Patterns …
Respuesta
Creo que la Refactorización de patrones puede ser útil simplemente porque describe cómo ciertos diseños / códigos pueden refactorizarse hacia patrones en el libro GoF. Esto puede ayudar a superar la curva de aprendizaje inicial. Ah, y también contempla la «felicidad de patrones» 🙂
También puede encontrar los primeros tres volúmenes de Arquitectura de software orientada a patrones para ser una buena lectura.
Respuesta
Patrones de diseño
Este sitio de tutorial contiene las siguientes subsecciones
- Intención de cada patrón de diseño
- Estructura del mundo real para el patrón de diseño
- Una declaración del problema
- Discusión detallada sobre el problema
- Lista de verificación sobre cómo llegar a un patrón
- Reglas generales mientras llega al patrón.
- Fragmentos de código para el patrón de diseño que incluye C #, C ++, Delphi, Java y PHP
Este sitio también contiene una guía sobre Anti Patrones, UML y refactorización.
Comentarios
Respuesta
El libro original, «Patrones de diseño: elementos de Software orientado a objetos reutilizable «es un buen recurso para patrones de diseño orientados a objetos.
Existen muchos otros libros por ahí. Cuando necesito una referencia rápida y mi libro GoF está fuera de mi alcance, Wikipedia normalmente tiene suficiente información sobre esos y otros patrones de diseño.
Esos son los principales que utilizo. También debe tenerse en cuenta que la gente ha comenzado a aplicar el formato de patrón a otras cosas, como la gestión de proyectos.
Si desea conocer los antipatrones, que debe conocer, hay dos libros, «Antipatrones: Refactorización de software, arquitecturas y proyectos en crisis», así como «Refactorización: Mejora del diseño de código existente», que tiene una sección sobre olores de código, otro nombre para los antipatrones.
Respuesta
«Principios, patrones y prácticas ágiles en C #» de Robert C. Martin. Creo que él también tiene una versión Java del libro.
Además, no es un patrón en sí mismo, pero el diseño basado en dominios tiene algunos conceptos excelentes, incluso si no opta por el enfoque DDD completo.
* Ubiquitous Language * Code first approach (vs. DB first) * etc.
Respuesta
Si está interesado específicamente en patrones de diseño en C ++, pruebe Diseño moderno en C ++ por Andrei Alexandrescu.
Este libro habla sobre cómo implementar commonl Usé patrones como Factory, Singleton y Visitor en C ++. También habla de temas muy específicos de C ++, como punteros inteligentes, metaprogramación de plantillas y diseño de clases basado en políticas.
El autor del libro es un experto autorizado , conocido por su
trabajo pionero en diseño basado en políticas implementado mediante metaprogramación de plantillas. Estas ideas se articulan en su libro Modern C ++ Design y se implementaron por primera vez en su biblioteca de programación, Loki. También implementó el concepto de «mover constructores» en su biblioteca MOJO. Contribuyó a la Revista C / C ++ Users bajo el nombre de «Generic < Programming >» …
Comentarios