zoukankan      html  css  js  c++  java
  • 前端架构拾遗

    前面的话

       本文将对前端架构遗漏的知识点进行补充说明,包括文档输出、系统分解、组件提取和发布优化这四个部分

    文档输出

    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实现这块)等

  • 相关阅读:
    千年决心
    编译器及其命令行模式杂谈
    How Microsoft Lost the API War
    再看计算机本科该如何学习
    C++杂记(一)
    C++杂记
    Java IO 学习心得
    VMDq (Virtual Machine Device Queue) in OpenSolaris
    WCHAR and wchar_t 的区别 (zz)
    error C3225: generic type argument for 'T' cannot be 'System::Collections::Generic::KeyValuePair ^',
  • 原文地址:https://www.cnblogs.com/xiaohuochai/p/7050103.html
Copyright © 2011-2022 走看看