前端架构的知识点
前面的话
本文将对前端架构遗漏的知识点进行补充说明,包括文档输出、系统分解、组件提取和发布优化这四个部分
文档输出
1、在多人协作过程中会存在一些问题:
a、文档制定的写作要求比较高, 要有结构化, 逻辑清晰, 写得好, 写得快, 还要注意排版才能适合他人阅读;
b、系统比较复杂文档篇幅会很长, 达到几百页以上难以花过长时间通篇阅读,照成很多细节一带而过;
c、规范能够满足需求不一定符合开发逻辑, 制定者需要与开发人员协商;
d、既要满足需求又要满足开发者的阅读;
e、措词的歧义性, 个人理解上有差异, 丢三落四, 内容不完整, 出现错别字等等;
2、在后续工作与复用方面,也会存在问题:
a、难以形成最终版本的规范, 后续需要不断修改再修改, 修改会给后续人员带来额外的开销;
b、如果需求发生变化需要重新设计规范, 软件的体系结构也需要大大小小的修改;
c、规范的重用性与制定者的设计水平息息相关;
d、复用后的文档同样难免会出现丢三落四, 内容遗漏, 涵盖原有设计未被修改或未删除等问题;
系统分解
在实际开发中,对系统进行分解的难点和需要考虑的问题如下:
1、分解的主要难点在于怎么拆分,拆分的是否合理;
2、各个业务功能都有联系, 从哪里进行拆分?
3、拆分的模块可不可以再拆分?
4、分解的粒度是否合理, 每个模块都有各自的细分, 拆分到模块级别还是类级别?
5、分解容易造成过渡分解或过早分解, 增加成本还会带来风险;
6、拆分的模块是否可以复用?
7、分解后是否能够很好的集成?
8、保证对交互稿做到100%的分解, 并且不允许漏掉任何一个模块, 稍有疏漏就会对后续开发造成影响;
9、如何按照时间规定内完成分解, 否则整体进度要延期;
组件提取
根据交互提取通用组件,需要进行以下操作
1、把交互稿按照层次划分,提取相似的部分;
2、再进一步划分,提取更小的组件;
3、确保每个组件相对独立,和其它组件没有重复的地方;
4、拆出来的组件尽可能简单,可以被重用;
5、例如按钮,图标,分页,导航,菜单,列表,轮播图等等;
6、将这些组件组合起来能够还原交互稿;
发布优化
项目发布时,需要进行以下优化
1、文件缓存。配置超长时间的本地缓存,节省带宽,提高性能;采用内容摘要作为缓存更新依据 ,实现精确的缓存控制,同时实现资源的非覆盖式发布, 保证平滑升级
2、静态资源CDN部署,优化网络请求响应
3、资源合并与优化。文件合并,模块化会导致HTTP请求大量增加;图片优化,包括图片压缩和雪碧图合并(貌似现在都流行用iconfont实现这块)等
以上是前端架构的知识点的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

SpringDataJPA基于JPA架构,通过映射、ORM和事务管理与数据库交互。其存储库提供CRUD操作,派生查询简化了数据库访问。此外,它使用延迟加载,仅在必要时检索数据,从而提高了性能。

论文地址:https://arxiv.org/abs/2307.09283代码地址:https://github.com/THU-MIG/RepViTRepViT在移动端ViT架构中表现出色,展现出显着的优势。接下来,我们将探讨本研究的贡献所在。文中提到,轻量级ViTs通常比轻量级CNNs在视觉任务上表现得更好,这主要归功于它们的多头自注意力模块(MSHA)可以让模型学习全局表示。然而,轻量级ViTs和轻量级CNNs之间的架构差异尚未得到充分研究。在这项研究中,作者们通过整合轻量级ViTs的有效

PHP与Vue:完美搭档的前端开发利器在当今互联网高速发展的时代,前端开发变得愈发重要。随着用户对网站和应用的体验要求越来越高,前端开发人员需要使用更加高效和灵活的工具来创建响应式和交互式的界面。PHP和Vue.js作为前端开发领域的两个重要技术,搭配起来可以称得上是完美的利器。本文将探讨PHP和Vue的结合,以及详细的代码示例,帮助读者更好地理解和应用这两

Go框架架构的学习曲线取决于对Go语言和后端开发的熟悉程度以及所选框架的复杂性:对Go语言的基础知识有较好的理解。具有后端开发经验会有所帮助。复杂性不同的框架导致学习曲线差异。

在前端开发面试中,常见问题涵盖广泛,包括HTML/CSS基础、JavaScript基础、框架和库、项目经验、算法和数据结构、性能优化、跨域请求、前端工程化、设计模式以及新技术和趋势。面试官的问题旨在评估候选人的技术技能、项目经验以及对行业趋势的理解。因此,应试者应充分准备这些方面,以展现自己的能力和专业知识。

Django是一个Python编写的web应用框架,它强调快速开发和干净方法。尽管Django是一个web框架,但是要回答Django是前端还是后端这个问题,需要深入理解前后端的概念。前端是指用户直接和交互的界面,后端是指服务器端的程序,他们通过HTTP协议进行数据的交互。在前端和后端分离的情况下,前后端程序可以独立开发,分别实现业务逻辑和交互效果,数据的交

作为一名C#开发者,我们的开发工作通常包括前端和后端的开发,而随着技术的发展和项目的复杂性提高,前端与后端协同开发也变得越来越重要和复杂。本文将分享一些前端与后端协同开发的技巧,以帮助C#开发者更高效地完成开发工作。确定好接口规范前后端的协同开发离不开API接口的交互。要保证前后端协同开发顺利进行,最重要的是定义好接口规范。接口规范涉及到接口的命

一、Llama3的架构在本系列文章中,我们从头开始实现llama3。Llama3的整体架构:图片Llama3的模型参数:让我们来看看这些参数在LlaMa3模型中的实际数值。图片[1]上下文窗口(context-window)在实例化LlaMa类时,变量max_seq_len定义了context-window。类中还有其他参数,但这个参数与transformer模型的关系最为直接。这里的max_seq_len是8K。图片[2]词汇量(Vocabulary-size)和注意力层(AttentionL
