`
zhuzhuyuan
  • 浏览: 6985 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

dojo设计使用原则

 
阅读更多

这里我只说如何去规划或者从抽象的角度使用dojo。不来说明如何使用具体的dojo组件,最后谈谈自己的感受。

第一、要使用它公布的API,尽量不使用_开头的API。因为这里有个约定以_开头的一般情况下是组件内部使用的API,要用请搞明白人家为啥这么用。(都明白私有的东西你要当作公开的使用是会出现一些你都不确定的问题的。或者可以认为是违背作者意图的);

第二、不要去使用原生js。有时候可能图省事会有这种想法。可是要明白dojo是把js包装过的。它确实避免了一些问题的出现。如果使用原生的js那么就会破坏这种生态平衡;

第三、如果非要修改样式文件那么请按照dojo提供的样式的标准(其实就是参照dojo现有的样式)来修改。否则你会出现异常问题(也可能不出现。不过总之这么做不好,因为你破坏了dojo的完整性)。

继承的使用(js是基于对象的编程语言不是面向对象的这里不做描述,只讲继承要做什么)

请扩展其原有组件的功能,请不要随意的在子类中关联其他组件功能,例如在组件中绑定其他组件的刷新接口。

继承的这个原则并不是一个最优的解决方案。但是初衷是增加代码可读性。如果实在需要绑定其它组件的接口的话,请使用中介者模式来实现,同时使用可以清楚标识文件名和注释来描述这种关系。如果是自己写着玩或者只有一个开发人员。这个原则就不用遵守了(如果再要修改或者其他人接手的麻烦就大了)。

面向切面编程

其实我觉得面向切面编程是面向对象的语言的概念(或者你可以理解为java)。因为js供开发发挥的余地的确不多。并且配置这些事件或者关联的事件机制并不是一个xml而是一个js(或者其他方式吧。我想表达的意思是它没有j2ee技术那样标识面向切面编程的配置文件那么清晰)。

感悟吧,技术路线都是为解决现实世界的问题而存在的,永远都不要以为先进的就是最好的,我认为合适的就是最好的。如果要选用dojo首先你要回答下面的几个问题

1.你需要一个重型的js类库框架么?

首先着眼点在类库和框架。类库表示了dojo的面向对象特性,框架标识了dojo是一个界面交互的解决方案。所以这两点要求程序员的素质和基础知识要扎实。

2.界面用户交互体验是不是要求很好或者一致?

因为dojo封装了大部分的界面元素。同时如果没有封装的话扩展起来也是很方便的。开发者只要引用就能保证见到的组件操作基本一致(这里没说绝对是因为有些功能没有使用或者使用了是由开发者决定的,但是这些接口已经存在了,能干什么开发者很清楚,那么也容易让客户产生操作习惯);

3.dojo是一个缺乏中文资料的框架,项目组能接受么?

4.dojo也并不是一个身后有尾巴头上有犄角的超级框架,它也是有bug的。你要持续看看一些dojo的bug跟踪的官方网站寻找解决方案。如果没有怎么办?自己扩展?

 

分享到:
评论

相关推荐

    dojo相关详细资料

    `dojo_base.doc` 可能详细阐述了Dojo的基础架构和设计原则。Dojo采用模块化设计,通过AMD(Asynchronous Module Definition)加载机制,可以异步地加载所需模块,提高了页面性能。此外,Dojo还支持模块的依赖管理和...

    Dojo框架英文使用指南

    在UI组件方面,Dojo Toolkit包含了一套完整的、跨浏览器的部件,如按钮、表单控件、日历、菜单等,它们都遵循W3C标准和无障碍设计原则。Dojo的dijit层是这些组件的实现,提供了一致的API和主题样式,便于创建一致的...

    dojo-release-1.9.0-src.zip dojo javascript库源码

    Dojo的源码结构清晰、注释详实,对于学习JavaScript编程模式、设计模式以及AMD模块化编程提供了很好的范例。这对于提高代码质量和编程能力有着长远的意义。 总而言之,Dojo 1.9.0源码包"dojo-release-1.9.0-src.zip...

    DOJO中文学习手册2019-12-11.docx

    它采用了MultiplePointsOfEntry、InterpreterIndependence和ForwardLookingAPIs设计原则,注重降低采用门槛。Dojo还在尝试创建一种新的标签语言DojoML,期望在不改变DojoML和JavaScript语法的情况下,通过不同的渲染...

    The Coding Dojo Handbook

    书中还强调了敏捷自动化测试设计的原则,强调测试应该和编码活动一样重要,而不仅仅是作为一个独立的流程存在。 通过大量的Kata案例,读者可以深入理解如何通过实践来掌握编程技巧。例如,“Gilded Rose”是一个...

    Dojo快速入门教程

    - **基于模板**:控件的设计遵循模板化原则,易于扩展和定制。 - **Web UI 控件库**:包含了大量的预定义控件,如按钮、下拉列表、表格等,满足不同场景下的需求。 ##### 3. DojoX 模块 DojoX 模块包含了框架中...

    Dojo guide

    它们的设计遵循模型-视图-控制器(Model-View-Controller,MVC)架构原则,这意味着每个Widget都有一个与之关联的视图模板,该模板中包含了HTML和CSS代码片段。通过这种方式,Widget能够灵活地呈现各种复杂的UI组件...

    Dojo与ExtJs的比较

    - **面向对象设计**:采用了面向对象的设计原则,提供了统一的语法结构和全局命名空间,提高了代码的可读性和可维护性。 - **文档详尽**:拥有详尽的文档支持,方便开发者学习和使用。 - **社区活跃**:拥有活跃的...

    AJAX框架 --- dojo

    它的全名是"dojo toolkit",在AJAX(异步JavaScript和XML)领域内具有重要地位,尽管现在XML在传输数据中的使用已不如从前,Dojo仍然在处理异步数据交换和更新页面内容方面表现出色。这个库以其强大的功能、面向对象...

    dojo基础知识

    ### Dojo基础知识详解 #### 一、AMD规范与Dojo...综上所述,Dojo不仅是一个功能全面的JavaScript库,更是一个遵循现代前端开发原则的框架。通过掌握其核心概念和功能,开发者能够构建出既美观又高效的企业级Web应用。

    Mastering Dojo - JavaScript and AJAX Tools for Great Web Experiences; Rawld Gill, Craig Riecke, Alex Russell (Pragmatic BookShelf, 2008).pdf

    4. **用户界面组件**:Dojo包含了一系列用户界面组件,如表单控件、网格等,这些组件遵循了一致的设计原则,易于使用且高度可定制。 5. **国际化支持**:为了满足全球化的需求,Dojo提供了强大的国际化支持功能,...

    widget:在 dojo 上测试小部件

    Dojo的Widget设计模式遵循模块化原则,使代码结构清晰,易于维护。 1. 创建自定义小部件: 要在Dojo中创建一个自定义小部件,你需要定义一个名为`_WidgetBase`的子类,并覆盖或扩展其属性和方法。这通常涉及定义`...

    AJAX_设计模式 AJAX_设计模式

    **设计原则** 1. **页面结构**:保持HTML代码简洁规范,便于加载和展示。 2. **用户体验**:提供良好的交互性,如用户注册、资料管理及用户间互动。 3. **实时通信**:实现实时的消息传递,增强用户间的沟通。 4. **...

    XP Dojo-开源

    5. **简单设计**:XP Dojo 提倡设计上的“足够好”原则,即只做必要的设计,避免过度设计。参与者会在实践中学习如何在需求不明确时,逐步演化出简洁有效的设计。 6. **持续集成**:XP Dojo 提供自动化构建和测试的...

    coding-dojo-php:编码 Dojo PHP

    "coding-dojo-php"是一个专为PHP开发者设计的练习平台,它采用了一种称为"编码道场"(Coding Dojo)的方法来提升编程技能。编码道场通常是一种集体编程练习,参与者在有限的时间内解决一系列小问题,以此锻炼编程...

    php毕业设计之图片共享系统项目源代码.zip

    系统的设计遵循了模块化原则,将用户管理、图片管理、系统设置等各个功能模块化,以方便后期的维护和扩展。在安全性方面,系统对用户数据和图片资源进行了加密处理,保证了用户隐私和系统数据的安全。同时,通过实现...

    dojo_rules

    描述中提到的“该存储库包含‘致命毒蛇’ dojo的dojo规则列表”,表明这可能是一个使用版本控制系统(如Git)的开源项目,存储库中保存了这个特定Dojo的指导原则和规范。这些规则可能是为了帮助参与者更好地理解和...

    encoding-dojo-php-boilerplate:用于启动并运行编码dojo环境的样板

    "编码道场PHP样板"(Encoding Dojo PHP Boilerplate)是一个专门为PHP开发者设计的项目模板,旨在快速搭建一个用于学习、实践和提升编程技能的环境。这个环境特别适合进行编码道场(Coding Dojo)活动,它允许开发者...

Global site tag (gtag.js) - Google Analytics