`
- 浏览:
335014 次
- 性别:
- 来自:
北京
-
新整理了一些,内容不算多,希望能对大家有用,尽管我也未能按照规范来做,但是规范的存在依然有意义。
Openlaszlo编程规范(第二部分)
2007/04/24
Openlaszlo编程规范第一部分主要侧重与基本的编码习惯和解决性能问题,对于解决复杂应用的编码设计问题涉及不足,本文则主要阐述这方面的内容,并揭示一些openlaszlo开发的高级主题。
1.透彻理解openlaszlo开发的核心思想:
a)完全基于组件的应用:整个应用是由多个组件构成而不能单纯由标签构成
b)事件驱动运行:组件之间的通讯由事件负责
c)数据驱动视图:针对数据而不是直接针对视图进行编程
2.尽量让减少canvas内的视图数目
这里的视图指的是自定义组件,也是整个应用的各个组成部分(portlet),有几个部分就应该有几个组件,绝对不应该在应用(canvas)内出现view标签。
3.充分运用event的功能
组件之间的交互(通讯)最好的途径就是event,而且是自定义的带组件信息的event,自定义的event解耦了组件之间的依赖,让整个应用变得可维护、可扩展。
4.针对data编程而不是针对视图编程
按照传统的web开发思想,总是习惯来刷新页面元素来达到更新视图的目的,但是在以数据为中心的RIA应用中,开发者所要做的是先想到视图后面的数据,先来改变数据,以达到改变视图的目的。
5.不要作偷懒的开发者
能独立成组件的部分就作成组件,而不能认为它不必要或者不是为了重用,这样做虽然工作量大了些,但是越到了项目的后期,尤其是需求变更时,就会发现,早期的努力是值得的。
6.不要忽略清理工作
使用过的变量,在操作结束时就应当立即清空,否则会引起很麻烦,会导致bug的产生,尤其是基于modaldialog的应用。
7.不要一次初始化所有的视图
如果初始化界面中不显示的内容,尽量让它不初始化,方法是:initstage="defer",这样做的好处是大大减少应用初始化的时间,只有在使用时才进行初始化,方法是:targetview.completeInstantiation();
8.组件内不应出现与canvas相关的对象或者属性
这个符合组件的封装性和独立性,如果出现的话将造成应用程序的紧密耦合,组件也就不能称之为组件了,除非绝对有必要引入canvas内的全局属性,比如鼠标位置等等。
9.遵守openlaszlo官方的Best_practices:
http://wiki.openlaszlo.org/Best_practices
10.慎用新版本尤其是4.0
根据官方的releasenote来看,swf&dhtml版本的应用性能比较差,而且大部分lps3.3组件都不能在4.0版本上使用,新版本的成熟还需时日。
分享到:
- 2007-04-28 09:16
- 浏览 2760
- 评论(0)
- 论坛回复 / 浏览 (0 / 3616)
- 查看更多
Global site tag (gtag.js) - Google Analytics
相关推荐
- **开发者特性**:提供面向对象编程支持和抽象能力,遵循标准规范,支持声明式的 UI 设计方法。 #### 四、平台功能 OpenLaszlo 平台提供了丰富的功能集,涵盖了从基本的 UI 元素到复杂的交互逻辑: - **视图...
少儿编程scratch项目源代码文件案例素材-直升机飞行.zip
wanjunshe_Python-Tensorflow_12888_1745868924470
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
少儿编程scratch项目源代码文件案例素材-种花模拟器.zip
嵌入式系统开发_FreeRTOS实时操作系统_STM32F103C8T6微控制器_OLED显示屏_DHT11温湿度传感器_多任务调度_多级菜单设计_万年历算法_电子闹钟功能_参数配
基于python实现的粒子群的VRP(车辆配送路径规划)问题建模求解+源码+项目文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。 算法设计的关键在于如何向表现较好的个体学习,标准粒子群算法引入惯性因子w、自我认知因子c1、社会认知因子c2分别作为自身、当代最优解和历史最优解的权重,指导粒子速度和位置的更新,这在求解函数极值问题时比较容易实现,而在VRP问题上,速度位置的更新则难以直接采用加权的方式进行,一个常见的方法是采用基于遗传算法交叉算子的混合型粒子群算法进行求解,这里采用顺序交叉算子,对惯性因子w、自我认知因子c1、社会认知因子c2则以w/(w+c1+c2),c1/(w+c1+c2),c2/(w+c1+c2)的概率接受粒子本身、当前最优解、全局最优解交叉的父代之一(即按概率选择其中一个作为父代,不加权)。
scratch少儿编程逻辑思维游戏源码-猫猫粉碎.zip
scratch少儿编程逻辑思维游戏源码-蓝胡子.zip
scratch少儿编程逻辑思维游戏源码-美食大亨.zip
scratch少儿编程逻辑思维游戏源码-洛克人.zip
scratch少儿编程逻辑思维游戏源码-龙冲刺.zip
思幻个人引导页V2.2版本11月29日更新.zip
scratch少儿编程逻辑思维游戏源码-骑士风斩法.zip
移动应用开发_H5CSS3ionicng-cordovaMVVM模式_基于HTML5和CSS3技术实现多页面布局ionic指令数据绑定ui-route单页跳转调用手机
少儿编程scratch项目源代码文件案例素材-植物大战僵尸创造版 Ver. 1.0.3.zip
scratch少儿编程逻辑思维游戏源码-日落(2).zip
动态星空背景个人主页(带后台).zip
scratch少儿编程逻辑思维游戏源码-迷雾森林:诞生 3.2 起源觉醒.zip
lib文件