谁能建议一种设计模式来分离JavaScript中的业务逻辑和表示逻辑?
Can anyone suggest design pattern to separate business logic and presentation logic in JavaScript?
我将开发移动web应用程序。App将使用web服务作为后端数据。所有的表示和业务逻辑都需要用javascript编写。
ios和android的设计不同。
并且不想分别为两者重写业务逻辑。
谁能建议设计模式来分离JavaScript中的业务逻辑和表示逻辑?
一个好的设计模式是设计一个"REST-ful"API,用于存储、检索和修改应用程序所操作的数据。然后设计单独的用户界面来共享这个公共API。在编写代码时,使用单独的原型和函数来表示和操作来自原型的数据,这些原型用于表示数据的外观或在用户界面中的控制方式。
你还可以通过使用CSS来控制应用程序在iOS和Android上的外观来实现可重用性,同时在两个版本的应用程序中仍然使用相同的HTML DOM结构。换句话说,通过操纵DOM元素的"class"属性,而不是显式地修改"style"属性,依靠CSS来基于类应用样式,可以获得更好的可重用性。然后,在大多数情况下,您可以使用相同的JavaScript代码,但只需为不同的用户代理提供不同版本的CSS。在某些情况下可能会出现额外的差异;我只是建议在它们出现时将它们重构成它们自己的函数。
正如其他人所指出的,有许多现有的JavaScript框架(如Sencha Touch)已经为移动设备抽象了视图逻辑,允许您只编写逻辑的模型和控制部分。如果您有一个UI组件的抽象,那么唯一需要维护的分离就是模型和控制器之间的分离。
看一下backbone.js,它是一个非常棒的MVC框架,用于丰富的javascript应用。
我正在使用Sencha Touch,因为它允许我区分iOS, Android和平板电脑。此外,它还支持REST-ful和JSONP。
Sencha Touch是我认为最好的选择。它不仅让你分离了表示和业务逻辑,而且还跨浏览器,尤其是Android、iPhone和Blackberry 6。通过使用sencha touch,您可以通过使用phonegap
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 带有所有用户操作的业务逻辑的Javascript配置文件
- 谁能建议一种设计模式来分离JavaScript中的业务逻辑和表示逻辑?