精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-09
最后修改:2009-06-11
作者:Topcss QQ :E-mail :andpai1.0@gmail.com Time :-03-08
刚刚在看JavaEye 新闻月刊- 2009 年月- 总第期时,看到了个居然有JS 基于MVC 实现的框架,由于不能上网( 文档是昨天下午下载的) ,于是决定自己动手写一个JavaScript-MVC 。
在这之前我们要先了解MVC 究竟是什么东东!
1.M(Model) 模型-- 这里用来保存对象
2.V(view) 视图-- 用来显示
3.C(controller) 控制-- 用来做核心的逻辑处理
我们来写个基于MVC 的计算器吧!
先在我们习惯的编辑器中写如下代码
< html > < head > < title > JavaScript 面向对象 之 一个基于MVC 的实现</ title > < script language ="javascript" type ="text/javascript">
</ script > </ head > < body > </ body > </ html >
下面我们开始在script 标签内编码:
第一步,我们创建一个实体对象( 它属于model 模型层范畴)
var Count = function (){ this .a = 0; this .b = 0; }
第二步,我们创建一个处理类( 它属于controller 控制层范畴)
var Controller = function (){ this .add = function (Count){ return Count.a + Count.b; }; this .minus = function (Count){ return Count.a - Count.b; }; this .multiply = function (Count){ return Count.a * Count.b; }; this .divide = function (Count){ return Count.b == 0 ? 0 : Count.a / Count.b; } }
第三步,调用计算的方法( 它属于view 视图层范畴)
var num = new Count();// 得到表单运算的实体
num.a = 150;// 当然,这里的值我们可以通过表单输入得到
num.b = 20;
var con = new Controller();// 得到控制层计算方法的实例
var result = con.minus(num);// 调用减法运算,参数为表单实体
alert(result);// 打印程序运行结果
不得不承认,在语法上面的确沿用过去我们熟悉的老写法。但从思想的层面上讲,却有了较高的提升。很明显,这么写的好处和JAVA 或者其它语言一样,把代码模块化,让代码结构更清晰,让别人也能轻松的读懂你的代码。
JavaScript 由刚开始在我们的项目中出现一些零星的验证到Ajax 应用,现在她已经成为我们在Web 应用程序中必不可缺的语言了。
这些年也出了不少不错的JS 框架。我们也都很期待更多的JS 框架的出现。因为,它不仅意味着JS 的重要性,而且会让我们在以后的开发中更加简单的应用JS 技术。
不过,话又说回来。这些模式或者框架的出现,也说明JS 的本身也存在着先天的不足。
最大的缺憾就是,目前它只能应用于Web 开发,和一些简单桌面开发,而且都需要得到其它应用程序的支持。
再者,对于不同的程序( 如: 不同浏览器,就算主流的浏览器[Firefox || IE || All] 也一样) 解析也会不尽相同。这会大大影响我们的开发进度。你可能会想到框架。嗯,不错,一些框架已经帮我们做了部分兼容,但试问,在你的开发中又真正的用到到多少JS 框架技术呢?对于一些普通的学习者来说,他们更不想依赖于框架。
众所周知,JS 调试也是一个大问题。目前常用的一些调试工具( 如DeBug) 也不能做到,在我们程序达到一定的量( 如:上千行) 后还能正确的指出错在那里。不易调试的确一个大问题啊!
框架的出现,为我们的设计带来了方便,调试工具的出现让我们的调试跟轻松。
在这里,我希望大家都来积极参与JS 的学习,讨论和设计中来,并提出一些独创性的观点。让我们的JS 之路越走越远,越走越稳!
希望大家跟帖讨论,如你的看法和思路,或者对上面提到的这个模式的评价,或者她对你的启发,或者其它。
大家踊跃讨论,跟贴无罪!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-09
如果eclipse对js 的支持能像支持java一样 那该有多好
|
|
返回顶楼 | |
发表时间:2009-03-09
mazzystar 写道 如果eclipse对js 的支持能像支持java一样 那该有多好
如果有人愿意购买,我想应该会有团队去开发eclipse的插件的。 |
|
返回顶楼 | |
发表时间:2009-03-09
最后修改:2009-03-09
topcss 写道
作者:Topcss QQ:419074376 E-mail:andpai1.0@gmail.com Time:2009-03-08 刚刚在看 JavaEye新闻月刊 - 2009年1月 - 总第11期 时,看到了个居然有JS基于MVC实现的框架,由于不能上网(文档是昨天下午下载的),于是决定自己动手写一个JavaScript-MVC。
在这之前我们要先了解MVC究竟是什么东东! 1.M(Model) 模型 -- 这里用来保存对象 2.V(view) 视图 -- 用来显示 3.C(controller) 控制 -- 用来做核心的逻辑处理 我们来写个基于MVC的计算器吧! 先在我们习惯的编辑器中写如下代码
<html> <head> <title>JavaScript 面向对象 之 一个基于MVC的实现</title> <script language="javascript" type="text/javascript">
</script> </head> <body> </body> </html>
下面我们开始在script标签内编码: 第一步,我们创建一个实体对象(它属于model模型层范畴)
var Count = function(){ this.a = 0; this.b = 0; }
第二步,我们创建一个处理类(它属于controller控制层范畴)
var Controller = function(){ this.add = function(Count){ return Count.a + Count.b; }; this.minus = function(Count){ return Count.a - Count.b; }; this.multiply = function(Count){ return Count.a * Count.b; }; this.divide = function(Count){ return Count.b == 0 ? 0 : Count.a / Count.b; } }
第三步,调用计算的方法(它属于view视图层范畴)
var num = new Count();//得到表单运算的实体 num.a = 150;//当然,这里的值我们可以通过表单输入得到 num.b = 20; var con = new Controller();//得到控制层计算方法的实例 var result = con.minus(num);//调用减法运算,参数为表单实体 alert(result);//打印程序运行结果
不得不承认,在语法上面的确沿用过去我们熟悉的老写法。但从思想的层面上讲,却有了较高的提升。很明显,这么写的好处和JAVA或者其它语言一样,把代码模块化,让代码结构更清晰,让别人也能轻松的读懂你的代码。
############# 孩子,你的代码写的一塌糊涂。
JavaScript由刚开始在我们的项目中出现一些零星的验证到Ajax应用,现在她已经成为我们在Web应用程序中必不可缺的语言了。
这些年也出了不少不错的JS框架。我们也都很期待更多的JS框架的出现。因为,它不仅意味着JS的重要性,而且会让我们在以后的开发中更加简单的应用JS技术。
不过,话又说回来。这些模式或者框架的出现,也说明JS的本身也存在着先天的不足。
最大的缺憾就是,目前它只能应用于Web开发,和一些简单桌面开发,而且都需要得到其它应用程序的支持。
############# 太扯,啥玩意?
再者,对于不同的程序(如:不同浏览器,就算主流的浏览器[Firefox || IE || All]也一样)解析也会不尽相同。这会大大影响我们的开发进度。你可能会想到框架。嗯,不错,一些框架已经帮我们做了部分兼容,但试问,在你的开发中又真正的用到到多少JS框架技术呢?对于一些普通的学习者来说,他们更不想依赖于框架。
############# 要么用框架,要么自己造轮子,普通的学习者还是从头学吧
众所周知,JS调试也是一个大问题。目前常用的一些调试工具(如DeBug)也不能做到,在我们程序达到一定的量(如:上千行)后还能正确的指出错在那里。不易调试的确一个大问题啊!
############# 调试的话,apanta,firefox,chrome都可以 当然,最好的还是vs.net带的脚本调试器,无比强大
框架的出现,为我们的设计带来了方便,调试工具的出现让我们的调试跟轻松。
在这里,我希望大家都来积极参与JS的学习,讨论和设计中来,并提出一些独创性的观点。让我们的JS之路越走越远,越走越稳!
希望大家跟帖讨论,如你的看法和思路,或者对上面提到的这个模式的评价,或者她对你的启发,或者其它。
大家踊跃讨论,跟贴无罪!
2、 没觉得lz的代码有啥 3、 投了新手贴 |
|
返回顶楼 | |
发表时间:2009-03-09
mazzystar 写道 如果eclipse对js 的支持能像支持java一样 那该有多好
做js开发的话,可以用apanta 或是eclipse插件:spket,jseclipse~~ |
|
返回顶楼 | |
发表时间:2009-03-10
topcss 写道
作者:Topcss QQ:419074376 E-mail:andpai1.0@gmail.com Time:2009-03-08 刚刚在看 JavaEye新闻月刊 - 2009年1月 - 总第11期 时,看到了个居然有JS基于MVC实现的框架,由于不能上网(文档是昨天下午下载的),于是决定自己动手写一个JavaScript-MVC。
在这之前我们要先了解MVC究竟是什么东东! 1.M(Model) 模型 -- 这里用来保存对象 2.V(view) 视图 -- 用来显示 3.C(controller) 控制 -- 用来做核心的逻辑处理 我们来写个基于MVC的计算器吧! 先在我们习惯的编辑器中写如下代码
<html> <head> <title>JavaScript 面向对象 之 一个基于MVC的实现</title> <script language="javascript" type="text/javascript">
</script> </head> <body> </body> </html>
下面我们开始在script标签内编码: 第一步,我们创建一个实体对象(它属于model模型层范畴)
var Count = function(){ this.a = 0; this.b = 0; }
第二步,我们创建一个处理类(它属于controller控制层范畴)
var Controller = function(){ this.add = function(Count){ return Count.a + Count.b; }; this.minus = function(Count){ return Count.a - Count.b; }; this.multiply = function(Count){ return Count.a * Count.b; }; this.divide = function(Count){ return Count.b == 0 ? 0 : Count.a / Count.b; } }
第三步,调用计算的方法(它属于view视图层范畴)
var num = new Count();//得到表单运算的实体 num.a = 150;//当然,这里的值我们可以通过表单输入得到 num.b = 20; var con = new Controller();//得到控制层计算方法的实例 var result = con.minus(num);//调用减法运算,参数为表单实体 alert(result);//打印程序运行结果
不得不承认,在语法上面的确沿用过去我们熟悉的老写法。但从思想的层面上讲,却有了较高的提升。很明显,这么写的好处和JAVA或者其它语言一样,把代码模块化,让代码结构更清晰,让别人也能轻松的读懂你的代码。
JavaScript由刚开始在我们的项目中出现一些零星的验证到Ajax应用,现在她已经成为我们在Web应用程序中必不可缺的语言了。
这些年也出了不少不错的JS框架。我们也都很期待更多的JS框架的出现。因为,它不仅意味着JS的重要性,而且会让我们在以后的开发中更加简单的应用JS技术。
不过,话又说回来。这些模式或者框架的出现,也说明JS的本身也存在着先天的不足。
最大的缺憾就是,目前它只能应用于Web开发,和一些简单桌面开发,而且都需要得到其它应用程序的支持。
再者,对于不同的程序(如:不同浏览器,就算主流的浏览器[Firefox || IE || All]也一样)解析也会不尽相同。这会大大影响我们的开发进度。你可能会想到框架。嗯,不错,一些框架已经帮我们做了部分兼容,但试问,在你的开发中又真正的用到到多少JS框架技术呢?对于一些普通的学习者来说,他们更不想依赖于框架。
众所周知,JS调试也是一个大问题。目前常用的一些调试工具(如DeBug)也不能做到,在我们程序达到一定的量(如:上千行)后还能正确的指出错在那里。不易调试的确一个大问题啊!
框架的出现,为我们的设计带来了方便,调试工具的出现让我们的调试跟轻松。
在这里,我希望大家都来积极参与JS的学习,讨论和设计中来,并提出一些独创性的观点。让我们的JS之路越走越远,越走越稳!
希望大家跟帖讨论,如你的看法和思路,或者对上面提到的这个模式的评价,或者她对你的启发,或者其它。
大家踊跃讨论,跟贴无罪!
JS现在在JDK6里面可以开发桌面系统,把JS作为宿主语言使用Java类库。
PS:在你实现JS-MVC的时候,请注意OOP的封装,比如你的Count类,里面的成员a,b都是public的。 |
|
返回顶楼 | |
发表时间:2009-03-10
dotaking 写道 mazzystar 写道 如果eclipse对js 的支持能像支持java一样 那该有多好
做js开发的话,可以用apanta 或是eclipse插件:spket,jseclipse~~ 正在用apanta的eclipse插件,感觉还可以 不过还是没有写java爽啊 ,差太多了 |
|
返回顶楼 | |
发表时间:2009-03-10
mazzystar 写道 如果eclipse对js 的支持能像支持java一样 那该有多好
MyEclipse7.0已经支持js的调试了,虽然还是beta版,但是很好用 |
|
返回顶楼 | |
浏览 2542 次