在webrebuild北京站上做的一次分享,总结了一下javascript的分层概念。
这里特别推荐一下YUI3给我们带来的分层概念:
1)底层(框架提供):封装DOM和Event相关操作,提供跨浏览器兼容的接口,扩展原生javascript语言本身不提供的但又特实用的接口,例如namespace;
2)抽象类层(框架提供):提供类的抽象层,用于统一框架组件层,自定义组件层和应用层中所有类的格式,例如统一初始化方法,毁灭方法,属性如何定义,监听事件在什么方法里等等等等;
3)通用组件层(框架提供):依赖底层的接口,继承自抽象类层的抽象类,提供通用型组件,和项目具体需求没有直接关系,也就是说,不是定制型的组件。
4)自定义组件层(开发工程师提供):根据项目需求,定制型的组件,它依赖底层和通用组件层,继承自抽象类层,是根据具体项目进行的封装,定制型组件。
5)应用层(开发工程师提供):这一层是和页面具体需求相关的,面向应用的。用mvc来划分的话,前面四层全是m,这一层是c。它调用前面四层提供的m,集中精力在应用逻辑上。这一层如果需要自定义类,也需要继承自抽象类层。
ppt见:http://www.adanghome.com/share/javascripthierarchical.ppt