文档章节

网页开发的一种暴力方式

HonChy
 HonChy
发布于 2015/04/09 23:27
字数 820
阅读 273
收藏 4
点赞 0
评论 0

##网页开发暴力方式

  • 他很炫,我只看资源
  • 交互多,抓转态,分阶段
  • 控件杂,挨个建模

###他很炫,我只看资源 网页的设计样式越来越炫,这意味着需要为边框,颜色,留白,动画等做出更多的额外的设计,而不仅仅是资源本身。但是这里的关键就是抓住资源。不管页面如何的设计,要抓住资源而非设计。这里的资源参考REST中有关资源的概念和DDD中领域对象的概念。 有了资源,你就可以在规划dom结构时,适当的应用上微格式,使逻辑重新回归。

###交互多,抓状态,分阶段 很多元素的事件需要响应,但是大多数情况下,这些事件不是一起发生的。所以可以针对这些事件涉及网页的多个状态。通过事件驱动状态发生改变。一个事件一个状态。

###控件杂,挨个建模 这个一般是第二个有关,当有很多个dom元素会有事件或者状态变化的时候,可以对每个dom进行封装形成一个对象。然后为这些对象安装状态切换功能和事件触发相应能力。

##为什么可以这么暴力 其实把网页拆分成为各个元素和功能组件,就好比不是造一个拖拉机,而是造一堆零件。拿着这一堆零件可以拼凑出一台拖拉机,也可能拼凑不出来一台拖拉机。这是风险所在,但是也是灵活性所在。其实就是REST思想中拆分的资源和资源的相关链接,DDD中拆分的不同粒度的领域对象。这样你在拆分的页面元素和功能的时候,其实也是熟悉各个零件的过程,有这个工程中的思考,对与整体的把握会更好,再经过多次的重构后,系统会逐渐的由凌乱形成章法。代码会进化。 但是在开发的时候,一次只需要考虑一个零件,它是什么,有什么作用,有什么事件等,这样就大大降低了设计难度。在零件开发完成以后,自然会在零件之上开发更粗粒度的功能包装,来组装这些零件的功能。所以可以减少很多思考的时间,只需要花费心思,思考如何拆分,如何组装。做完一步,再看下一步。不急不躁,是一个很自然的过程。

##如何实施 这个需要借助前端工程化的解决方式,因为要写很多的模块,有些是资源,有些是dom封装,有些是辅助,这些零散的js模块还需要一个或者多个组织者。这么多的js文件,需要进行合并压缩来减少体积。这些文件一般选择在后端打包压缩。

© 著作权归作者所有

共有 人打赏支持
HonChy
粉丝 12
博文 100
码字总数 87679
作品 0
海淀
程序员
WEB前端学习:练脑算法题——求一个集合所有子集的和

Web前端开发工程师是一个很新的职业,是从事Web前端开发工作的工程师。主要进行网站开发,优化,完善的工作。网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行...

web前端小辰 ⋅ 06/02 ⋅ 0

女性黑客的崛起将造福世界

编者按 : 詹妮弗·文托(Jennifer Vento)是 Women Online 的常务董事。 2015 年 5 月 23 日,来自 19 个国家的黑客在线或亲自参加了 Femhack,一项受 到萨宾·马哈茂德(Sabeen Mahmud)的...

oschina ⋅ 2015/07/18 ⋅ 6

使用Python进行HTTP摘要认证暴力破解

首发州的先生个人博客:http://zmister.com/ 相关文章: 利用Python进行Web渗透测试(七):用Python编写一个资源暴力探测工具 利用Python进行Web渗透测试(八):改进暴力探测器的显示结果和...

州的先生 ⋅ 2017/12/02 ⋅ 0

Tornado学习笔记(一)

最近开始用Tornado做开发了,究其原因,主要是Tornado基于Python,一来代码量少开发速度快,二来采用epoll方式,能够承载的并发量很高。在我的i5台式机上用ab测试,不连接数据库的情况下,单...

Slaytanic ⋅ 2015/04/25 ⋅ 0

前端开发面试题--html

Doctype作用?严格模式与混杂模式如何区分?它们有何意义? doctype是告诉浏览器我的html使用哪个版本的html协议写的,让浏览器按照神明的协议执行。 区别:严格模式是浏览器根据规范去显示页...

邪气小生 ⋅ 2016/04/07 ⋅ 2

2018-04-18-早起得到-世界上有哪些竞争规则

今天分享的主题来自得到的薛兆丰的北大经济学 你好,今天我们要开始一个新的单元,我们讲关于竞争的规律。听完这个单元以后,你不仅会对好几个人们容易混淆的概念,比方说稀缺、短缺、过剩等...

韬声依旧在路上 ⋅ 04/18 ⋅ 0

AOPR中的暴力破解

Advanced Office Password Recovery的暴力破解能够毫不费力地破解Office文档密码的密码武器之。暴力破解等同于穷举法,将所有的可能性全部列举一遍,所以破解密码只是时间的问题。在本篇文章...

neluzyy1 ⋅ 2015/12/21 ⋅ 0

使用HandlerThread时遇到的问题

相比于AsyncTask,HandlerThread更好操控一些,因为当需要中断异步操作的时候例如:退出activity,屏幕旋转等等,虽然AsyncTask提供了中断的方法cancle( );有时候会失效, 从源码可以看出,它...

Carbenson ⋅ 2015/10/28 ⋅ 0

python web开发 了解基础点

python web开发 [if !supportLists]1-1 [endif]预期目标 技能:学习[Django] [Tornado] [Flask]web开发框架 经验:熟悉[门户网站在线电商管理平台、项目开发]开发流程和处理过程 总结:掌握[...

AAA年华 ⋅ 01/10 ⋅ 0

Hack with python(一)

[此文原先在论坛上,后来整理文章时从论坛更新到博客上] 实验环境: dvwa 1.7 python 2.7 关于怎么搭建环境,我们可以看之前的这篇帖子。 目的: 一点、一点的开始学习用python编写脚本 熟悉p...

qq414207614 ⋅ 2015/09/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java集合类总结笔记

一、集合类的层次关系 主要容器集合类的特点: ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除的有序序列 ArrayDeque 一种用循环数组实现的...

edwardGe ⋅ 6分钟前 ⋅ 0

spring RMI远程调用

RMI https://www.cnblogs.com/wdh1995/p/6792407.html

BobwithB ⋅ 12分钟前 ⋅ 0

Jenkins实践2 之基本配置

1 插件管理 系统管理->插件管理 在可选插件中可以自主安装插件 2 管理用户 系统管理->管理用户->新建用户 3 安全配置 系统管理->全局安全配置 授权策略 选择安全矩阵 然后添加现有的用户,赋...

晨猫 ⋅ 12分钟前 ⋅ 0

c++智能指针

1、是一种泛型类,针对指针类型的泛型类,会保存指针 2、重载了符号 *和-> 对智能指针使用这两个符号,相当于对保存的泛型使用这两个符号 3、当智能指针引用计数为0时,会去释放指针指向的资...

国仔饼 ⋅ 13分钟前 ⋅ 0

Spring Boot错误处理机制

1)、SpringBoot默认的错误处理机制 默认效果: 1)、浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAut...

小致dad ⋅ 14分钟前 ⋅ 0

ftp连接不上的终极办法 SFTP

假如FTP由于各种原因就是连不上,那么用SFTP协议吧,使用登录服务器的账号密码。

sskill ⋅ 19分钟前 ⋅ 0

Unity 围绕旋转角度限制(Transform.RotateAround)

在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否在限定角度范围内是则进行旋转。 相关...

大轩 ⋅ 20分钟前 ⋅ 0

阿里沙箱环境支付宝测试demo

阿里支付宝支付和微信支付,包括:阿里沙箱环境支付宝测试demo,支付宝支付整合到spring+springmvc+mybatis环境和微信整合到如上环境,功能非常齐全,只需要修改对应的配置文件即可,帮助文档...

码代码的小司机 ⋅ 23分钟前 ⋅ 0

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 39分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 44分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部