¿Cuál es el significado específico del modelo de código abierto?
1. ¿Qué es un patrón?
Los patrones, es decir, las leyes, son en realidad metodologías para resolver cierto tipo de problemas. Cuando resumes el método para resolver un determinado tipo de problema a un nivel teórico, es un modelo.
La definición clásica dada por Alexander es: Cada patrón describe un problema que surge constantemente en nuestro entorno, y luego describe el núcleo de la solución del problema. De esta manera podrás utilizar estas soluciones existentes innumerables veces sin tener que repetir el mismo trabajo.
Los patrones existen en diferentes campos; existen patrones arquitectónicos en el campo de la arquitectura y patrones de diseño en el campo del diseño de software. A medida que un campo madura, surgen naturalmente muchos patrones.
¿Qué es un marco?
Un framework, o marco, es en realidad una aplicación semiacabada, un conjunto de componentes que puedes elegir para completar tu propio sistema. En pocas palabras, utilizas el escenario preparado por otros para actuar. Además, los marcos son generalmente software maduro y continuamente actualizado.
2. ¿Por qué utilizar patrones?
Debido a que el patrón es una especie de guía, bajo una buena guía, te ayudará a completar la tarea, te ayudará a hacer un buen plan de diseño y lograr el doble de resultado con la mitad de esfuerzo. Y obtendrás la mejor solución a tu problema.
¿Por qué utilizar marcos?
Debido a que los sistemas de software se han desarrollado de manera muy compleja, especialmente el software del lado del servidor, hay demasiado conocimiento, contenido y problemas en el diseño. Usar los marcos maduros de otras personas equivale a dejar que otros completen parte del trabajo básico por usted, y usted solo necesita concentrarse en completar el diseño de la lógica empresarial del sistema. Además, los marcos son generalmente relativamente maduros y robustos. Pueden manejar muchas cuestiones detalladas en el sistema, como cosas a procesar, seguridad, control del flujo de datos y otras cuestiones. Además, el marco es generalmente utilizado por muchas personas, por lo que la estructura es muy buena, por lo que la escalabilidad también es muy buena y se actualiza constantemente, por lo que puede disfrutar directamente de los beneficios de las actualizaciones del código de otras personas.
El marco generalmente se encuentra entre la plataforma de aplicación subyacente (como J2EE) y la lógica empresarial de alto nivel.
¿Por qué el software debería tener capas?
Con el fin de lograr “alta cohesión y bajo acoplamiento”. Dividir el problema en soluciones individuales es fácil de controlar, fácil de escalar, fácil de asignar recursos... en definitiva, los beneficios son muchos :).
3. A continuación se presentan principalmente los patrones y marcos de JAVA y J2EE:
¿Cuáles son los patrones de diseño comunes?
En primer lugar, lo que necesita saber es el libro de GOF "Patrones de diseño: conceptos básicos del software orientado a objetos reutilizables" (se puede decir que este libro es imprescindible para los programadores). GOF no es una persona, sino que se refiere a cuatro personas. Su significado original es Gangs Of Four, que hace referencia a los cuatro autores del libro: Erich Gamma, Richard Helm, Ralph Johnson y John Frisid Sri Lanka. Este libro cubre 23 patrones principales, incluidos el patrón abstracto, el patrón de fábrica, el patrón de adaptador y el patrón de apariencia. Patrón abstracto, patrón de fábrica, patrón adaptador y patrón de fachada.
Hay muchos otros modos, se estima que hay más de 100.
Hay tantos patrones de diseño de software, por lo que cubriré brevemente los patrones MVC más comunes según mi comprensión.
El patrón MVC fue propuesto por Buschmann en 1996:
Modelo: Encapsula los datos y todas las operaciones basadas en estos datos.
Ver: Es la encapsulación de la visualización de datos, es decir, la interfaz de usuario.
Controlador (Control): Encapsula las operaciones externas del modelo y controla el flujo de datos, etc.
Además:
RUP (Rational Unified Process) proceso unificado de software, XP (Extreme Programming) programación extrema, estos suelen denominarse "metodologías de proceso" y son una especie de proyecto de software. proceso de implementación. Es la metodología del proceso de implementación del proyecto de software y el método y estrategia del proceso de implementación del proyecto de software. También es otra mirada al modelo.
4. ¿Cuáles son los frameworks JAVA comunes?
WAF:
Nombre completo: WEB APPLICATION FRAMEWORK (MARCO DE APLICACIÓN WEB)
Aspectos principales de la aplicación: Capa EJB (también existe una capa WEB, pero es más débil).
Principales tecnologías de aplicación: EJB, etc.
Prueba:
Breve descripción: este es el marco interno de muestra de PetStore (Pet Store System) utilizado por SUN al demostrar la plataforma J2EE. Es el marco de aplicación propuesto en el programa de muestra SUN Blue Book. Implementa MVC y otros excelentes patrones de diseño. Hay información técnica en el sitio web de SUN. Es mejor descargar PetStore para aprender. WEBLOGIC viene con este sistema. El código fuente está en bea/weblogic700/samples/server/src/petstore. estructura.
Gratis.
Struts:
Aplicación principal: capa WEB.
Principales tecnologías de aplicación: JSP, TagLib, JavaBean, XML, etc.:
Introducción: Este es un proyecto de código abierto de APACHE y actualmente se utiliza ampliamente. Basado en el modelo MVC, la estructura es muy completa y está basada en JSP. Jbuilder8 se ha integrado en la producción de STRUTS1.02.
Gratis.
Un breve ejemplo de combinación WAF+STRUTS: capa WEB y STRUTS, capa EJB y WAF:
¿JSP (TagLib)? > ActionForm?> Action ? > Event?>EJBAction? >EJB ? >DAO?>Base de datos JSP (TagLib) (adelante)
Aspecto principal de la aplicación: capa WEB.
Principales tecnologías de aplicación: Servlet, etc.:
Breve descripción: Este es un proyecto de código abierto de APACHE. Se dice que proporciona varios servicios de una manera más rápida y basada en servicios (implementación conectable, componentes de implementación conectables).
Gratis.
COCOON:
Aplicación principal: capa WEB.
Principales tecnologías de aplicación:
Principales tecnologías de aplicación: XML, XSP, Servlet, etc.:
Breve descripción: Este es un proyecto de código abierto de APACHE. Basado en XML, basado en XSP (en términos simples, XSP es un documento XML dinámico formado agregando segmentos de programas Java a un documento XML estático). .Se caracteriza por la capacidad de interactuar con una variedad de fuentes de datos, incluidos sistemas de archivos, bases de datos, LDAP, bibliotecas de recursos XML y fuentes de datos de red.
Gratis.
ECHO:
Aplicación principal: capa WEB.
Principales tecnologías de aplicación: Servlet, etc.:
Breve descripción: Un proyecto de código abierto de Nextapp Company. La página se puede hacer muy hermosa y, combinada con echopoint, se pueden crear muchos efectos gráficos (en el paquete jfreechart). Usar la idea de SWING para crear páginas web es como usar clases JAVA para crear HTML. Sin embargo, el uso extensivo de la sesión y el marco de página (Frame) consumirá muchos recursos del sistema.