Recientemente, he estado obsesionado con la "modularización", incluidos artículos y PPT, y me vi obligado a pensar en muchas cosas relacionadas. Para aclarar mis pensamientos sobre la "modularidad" durante este período, la mayoría de ellos se basan en mi propia experiencia y comprensión del trabajo de reconstrucción de páginas. Hasta cierto punto, espero poder aprender algo nuevo revisándolo. el pasado.
"Modular" es sólo un nombre de moda para las tecnologías y métodos que hemos estado utilizando en el pasado, al igual que "Ajax". Sin embargo, como tendencia en el desarrollo de la reconstrucción de páginas, la gente le presta cada vez más atención y, a menudo, habla inconscientemente de "modularidad", pero ¿realmente comprende qué es la "modularización"?
¿Qué es la modularidad?
Hay 28 interpretaciones de "modularidad" en CNKI. Se puede ver que el pensamiento "modular" se utiliza ampliamente. La explicación más cercana a la "modularización" en la reconstrucción de páginas es probablemente la explicación en el desarrollo de software.
Veamos primero cómo la entrada de Baidu explica la " modularidad ":
La modularización se refiere al proceso de dividir un sistema de software en varios módulos capa por capa de arriba a abajo al resolver un problema complejo. Cada módulo completa una subfunción específica y todos los módulos se ensamblan de cierta manera para formar un todo para completar las funciones requeridas por todo el sistema. El módulo tiene los siguientes atributos básicos: interfaz, función, lógica y estado. La función, el estado y la interfaz reflejan las características externas del módulo y la lógica refleja sus características internas. En la arquitectura de software, los módulos son unidades que se pueden combinar, descomponer y reemplazar.
También hay bastantes libros relacionados y los estudiantes interesados pueden buscarlos. Es necesario enfatizar que lo que estamos aprendiendo es una forma de pensar.
¿Por qué la producción de páginas debe ser modular?
El contenido del sitio aumenta y el código se vuelve inflado, lo que afecta gradualmente la experiencia del cliente (principalmente la velocidad de apertura) y la eficiencia del mantenimiento. ¿Hay alguna manera de resolver estos problemas?
Podemos pensar fácilmente en: reducir la redundancia de código, mejorar la reutilización de código, la compresión de imágenes, etc., pero ¿cómo lograrlo? Se puede resolver el pensamiento modular, lo que puede reducir eficazmente la redundancia del código y mejorar la reutilización del código. Más importante aún, puede admitir el mantenimiento de varias personas y reducir los costos de mantenimiento. El método de escritura CSS es más flexible y puede provocar fácilmente el acoplamiento del código. El uso de la modularización también puede reducir el acoplamiento hasta cierto punto, lo que también es útil para localizar errores. Por lo tanto, debemos prestar más atención y utilizar el "pensamiento modular" para escribir el sitio en la etapa inicial.
Una parte considerable de la optimización del rendimiento del sitio que mencionamos anteriormente también implica la "modularización", como mejorar la reutilización del código, mejorar la eficiencia del desarrollo, etc. Hay muchas ventajas de la "modularización", las enumeraré brevemente:
Mejore la reutilización del código, mejore la eficiencia del desarrollo, reduzca los costos de comunicación, reduzca el acoplamiento, reduzca los riesgos de lanzamiento, reduzca el tiempo de localización de errores y corrija los costos, aumente la tolerancia a fallas de la página, implemente mejor las iteraciones rápidas y admita mejor los lanzamientos en escala de grises. , es la "mejora" de la tasa de reutilización del código", que también es una de las características más importantes de la modularidad.
¿Cómo lograr la "modularidad"?
El principal problema aquí es la "modularidad" de HTML y CSS. Podemos ver cómo implementar el skinning:
Mismo nombre de clase, cambiar archivos (JS)
El mismo archivo, cambie el nombre de la clase (JS)
De esto podemos ver la implementación de la interfaz de HTML y CSS:
Para implementar mejor esta interfaz, los tres métodos de nombres de clases introducidos por CSS deben tener convenciones, reglas y especificaciones relevantes (interacción, diseño, página, desarrollo). Por ejemplo: todos los estados actuales usan el mismo nombre de clase "nonce". ", todas las actuaciones atenuadas utilizan el nombre de clase original seguido de "_n", la implementación de Tab, etc. Con estas convenciones, reglas y especificaciones implementadas, el código HTML puede crear plantillas y unificarse fácilmente con especificaciones de interfaz.
Hay dos malentendidos que deben entenderse primero:
La modularización no significa que pueda usarse en cualquier ubicación (los segmentos de código modularizados también tienen restricciones de alcance aplicables y requieren un entorno que proporcione reglas de interfaz)
La modularización no significa que no se pueda cambiar (los segmentos de código modularizados se pueden modificar según las necesidades reales)
Los módulos completamente independientes se colocan en el mismo proyecto. Dado que el proyecto tiene su propio rendimiento y unidad interactiva, debe haber partes similares entre los módulos. Estas partes se pueden proponer como definiciones comunes para reducir la redundancia. Y es imposible desacoplarlo por completo. Por lo tanto, un punto muy importante en la modularización es el "acoplamiento moderado". Con la definición pública, es necesario ajustar la implementación del estilo del módulo, y este ajuste también afectará la implementación de la "interfaz".
Dado que este artículo habla principalmente sobre la forma de pensar modular, los detalles de implementación específicos se discutirán en artículos futuros. Para contenido relacionado, puede leer el " Modularización de IKEA Furniture Design " escrito anteriormente. Bienvenidos a discutir juntos.