Recentemente, fiquei obcecado com a "modularização", incluindo artigos e PPTs, e fui forçado a pensar em muitas coisas relacionadas. Para esclarecer meus pensamentos sobre "modularidade" durante este período, a maioria deles se baseia em minha própria experiência e compreensão do trabalho de reconstrução de páginas. Existem limitações até certo ponto e espero poder aprender o novo revisando. o passado.
"Modular" é apenas um nome moderno para as tecnologias e métodos que usamos no passado, assim como "Ajax". Porém, como tendência no desenvolvimento da reconstrução de páginas, as pessoas estão prestando cada vez mais atenção a ela, e muitas vezes falam sobre “modularidade” inconscientemente, mas você realmente entende o que é “modularização”?
O que é modularidade?
Existem 28 interpretações de “modularidade” no CNKI. Pode-se ver que o pensamento “modular” é amplamente utilizado. A explicação mais próxima da "modularização" na reconstrução de páginas é provavelmente a explicação no desenvolvimento de software.
Vejamos primeiro como a entrada do Baidu explica a “ modularidade ”:
Modularização refere-se ao processo de divisão de um sistema de software em vários módulos, camada por camada, de cima para baixo, ao resolver um problema complexo. Cada módulo completa uma subfunção específica, e todos os módulos são montados de uma determinada maneira para formar um todo para completar as funções exigidas por todo o sistema. O módulo possui os seguintes atributos básicos: interface, função, lógica e status A função, status e interface refletem as características externas do módulo e a lógica reflete suas características internas. Na arquitetura de software, módulos são unidades que podem ser combinadas, decompostas e substituídas.
Existem também alguns livros relacionados e os alunos interessados podem procurá-los. É preciso enfatizar que o que estamos aprendendo é uma maneira de pensar.
Por que a produção de páginas precisa ser modular?
O conteúdo do site está aumentando e o código está ficando inchado, o que afeta gradativamente a experiência do cliente (principalmente a velocidade de abertura) e a eficiência da manutenção. Existem maneiras de resolver esses problemas?
Podemos facilmente pensar em: reduzir a redundância de código, melhorar a reutilização de código, a compactação de imagens, etc., mas como conseguir isso? O pensamento modular pode ser resolvido, o que pode efetivamente reduzir a redundância de código e melhorar a reutilização de código. Mais importante ainda, pode suportar a manutenção de várias pessoas e reduzir os custos de manutenção. O método de escrita CSS é mais flexível e pode facilmente causar acoplamento de código. O uso da modularização também pode reduzir o acoplamento até certo ponto, o que também é útil para localizar bugs. Portanto, devemos prestar mais atenção e usar o “pensamento modular” para escrever o site na fase inicial do site.
Uma parte considerável da otimização do desempenho do site que mencionamos com frequência também envolve "modularização", como melhorar a reutilização de código, melhorar a eficiência do desenvolvimento, etc. Existem muitas vantagens da "modularização, vou listá-las resumidamente".
Melhore a reutilização de código, melhore a eficiência do desenvolvimento, reduza os custos de comunicação, reduza o acoplamento, reduza os riscos de lançamento, reduza o tempo de localização de bugs e os custos de correção, aumente a tolerância a falhas de página, implemente melhor iterações rápidas e melhor suporte a versões em escala de cinza. , é a "melhoria" da taxa de reutilização de código", que também é uma das características mais importantes da modularidade.
Como conseguir a “modularidade”?
O principal problema aqui é a “modularidade” do HTML e CSS. Podemos ver como implementar o skinning:
Mesmo nome de classe, alterar arquivos (JS)
O mesmo arquivo, altere o nome da classe (JS)
A partir disso podemos ver a implementação da interface HTML e CSS:
Para melhor implementar esta interface, os três métodos de nomes de classes introduzidos pelo CSS precisam ter convenções, regras e especificações relevantes (interação, design, página, desenvolvimento). Por exemplo: todos os estados atuais usam o mesmo nome de classe "nonce". " , todas as performances esmaecidas usam o nome da classe original seguido de "_n", a implementação de Tab, etc. Com essas convenções, regras e especificações em vigor, o código HTML pode ser facilmente modelado e unificado com as especificações da interface.
Existem dois mal-entendidos que precisam ser entendidos primeiro:
Modularização não significa que possa ser usado em qualquer local (os segmentos de código modularizado também têm restrições de escopo aplicáveis e exigem um ambiente que forneça regras de interface)
Modularização não significa que não possa ser alterado (segmentos de código modularizados podem ser modificados de acordo com as necessidades reais)
Módulos completamente independentes são colocados no mesmo projeto. Como o projeto tem desempenho próprio e unidade interativa, deve haver partes semelhantes entre os módulos. Essas partes podem ser propostas como definições comuns para reduzir a redundância. , e é impossível ser completamente desacoplado. Portanto, um ponto muito importante na modularização é o “acoplamento moderado”. Com a definição pública, é necessário ajustar a implementação do estilo do módulo, e esse ajuste afetará também a implementação da “interface”.
Como este artigo fala principalmente sobre a forma modular de pensar, os detalhes específicos da implementação serão discutidos em artigos futuros. Para conteúdo relacionado, você pode ler o escrito anteriormente " Modularização da IKEA Furniture Design ". Bem-vindo para discutir juntos.