摘要:
1 简介Pure MVC是在基于模型、视图和控制器MVC模式建立的一个轻量级的应用框架,这种开源框架是免费的,它最初是执行的ActionScript 3语言使用的Adobe Flex、Flash和AIR,现在已经移植到几乎所有主要的发展平台,目前支持两个版本框架:标准和多核,总之,标准版提供了一种简单的编码分离的方法,按照MVC设计概念。除此之外,多版本允许多个PureMVC应用运行在同一个虚拟机;模块化编程在PureMVC实现的经典MVC元设计模式中,这三部分由三个单例模式类管理,分别是Model、View和Controller。三者合称为核心层或核心角色。PureMVC,就如同它的名字是. 阅读全文
摘要:
本节将讲述Facade,Proxy、Mediator、Command的统一管家。自定义Facade必须继承Facade,在本示例中自定义Facade名称为ApplicationFacade,这个名称也是pureMVC组织建议的名称。先看代码:Applicationfacade代码packagecom.superwulei{importcom.superwulei.controller.StartupCommand;importorg.puremvc.as3.patterns.facade.Facade;publicclassApplicationFacadeextendsFacade{publ 阅读全文
摘要:
本节将讲述pureMVC示例中的Controller层。Controller层有以下文件组成:AddUserCommand.asDeleteUserCommand.asModelPrepCommand.asViewPrepCommand.asStartupCommand.asAddUserCommand。顾名思义,它是添加用户命令。让我们首先看看代码。Addusercommand.as代码packagecom.superwulei.controller{importcom.superwulei.model.UserProxy;importcom.superwulei.model.vo.User 阅读全文
摘要:
本篇说的是View层,即视图层,在本示例中包括两个部分:MXML文件,即可视控件;Mediator。可视控件可视控件由UserForm.mxml(图1)和UserList.mxml(图2)两个文件组成。UserForm.mxml用于添加用户,UserList.mxml显示用户和删除已添加用户。【图1】【图2】先看UserForm.mxml,既然要添加用户,就一定会要一个方法。你还记得么,在上一篇《pureMVC简单示例及其原理讲解——Model层》中我们提到的UserProxy中有一个ArrayCollection类型的users属性和无返回值的addItem方法,其中users中存储User 阅读全文
摘要:
本节将讲述Model层。Model层有VO和Mediator组成,非常简单,仅仅包含两个类:UserVO和UserProxy。UserVO中的构造器用于初始化用户的添加(通过email和密码),另一个isValid属性验证用户电子邮件是否合法以及密码长度。Uservo.as代码/**UserVO*/packagecom.superwulei.model.vo{publicclassUserVO{publicvaremail:String='';//电子邮件publicvarpassword:String='';//密码publicvarregDate:Date; 阅读全文
摘要:
pureMVC是一个MVC框架,皆在最大限度的减少MVC间的耦合性。本人刚刚接触pureMVC时感到一头雾水,不知从何入手,也不知道从何学习。好在本人有耐性且能看懂英文技术文档,面向对象的编程能力也比较扎实。在这种背景下,终于悟出了pureMVC的原理,能够使用pureMVC进行开发。如果把pureMVC的领悟境界分为若干,我是处于最低境界(潜力很大啊)。好,闲话不说,言归正传。本示例是在理解了官方示例EmployeeAdmin示例的基础之上的简化版,用意是为了更好的理解pureMVC。界面:图片上部控件用于添加用户,下部控件用户显示用户信息和删除已添加的用户【图1】首先:pureMVC既然是 阅读全文
摘要:
Netscape Navigator 在 90 在年代中期对 JavaScript 进行了集成,这让网页开发人员对 HTML 页面中诸如 form 、frame 和 image 之类的元素的访问变得非常容易。由此 JavaScript 很快成为了用于定制控件和添加动画的工具,到 90 年代后期的时候,大部分的 JavaScript 脚本仅仅完成像“根据用户的鼠标动作把一幅图换成另一幅图”这样简单的功能。随着最近 AJAX 技术的兴起,JavaScript 现在已经变成了实现基于 web 的应用程序(例如我们自己的 Gmail)的核心技术。JavaScript 程序从聊聊几行变成数百 KB 的代 阅读全文
摘要:
如果已读过V8编程入门那你已经熟悉了如句柄(handle)、作用域(scope)和上下文(context)之类的关键概念,以及如何将V8引擎作为一个独立的虚拟机来使用。本文将进一步讨论这些概念,并介绍其他有关V8引擎嵌入C++应用程序的关键概念。V8引擎的API提供了编译执行脚本、访问C++方法和数据结构、处理错误、执行安全检查等功能。你的应用程序可以像使用其他C++库一样使用V8引擎。你可以通过在C++代码中包含头文件include/v8.h来访问V8引擎的API。在V8引擎设计理念这篇文章中提供的背景信息,可能会对您优化您的应用程序有所帮助。句柄和垃圾收集句柄是对保存在堆(heap)中的J 阅读全文
摘要:
本文档介绍了V8引擎的一些关键概念,并提供了例子hello world指引你入门。Hello World让我们看一个Hello World的示例,它将一个字符串参数作为JavaScript语句,执行JavaScript代码,并将结果打印到控制台。view plaincopy to clipboardprint?intmain(intargc,char*argv[]){//CreateastringcontainingtheJavaScriptsourcecode.Stringsource=String::New("'Hello'+',World'&qu 阅读全文
摘要:
准备工作(1)本机系统说明:本人机器为win7 64位,32位也可以。(2)软件安装: VISUAL C++ 2010 EXPRESS(Visual Studio 2010也可以); windows下安装NodeJS,可以从官网http://www.nodejs.org下载msi版进行快捷安装;(3)源码准备:从官网下载SourceCode版本node-v0.10.5.tar(笔者下载时的最新代码版本为v0.10.5),解压到windows任意目录下,如D:\node-v0.10.5。编写node的C/C++原生扩展[1]打开Windows命令行cmd.exe,进入D:\node-v0.1.. 阅读全文
摘要:
1.下载前期准备node.js下载地址http://nodejs.org/WebStrom5下载地址:http://download-ln.jetbrains.com/webide/WebStorm-5.0.4.exeWebStrom5注册机地址http://download.csdn.net/detail/youyudehexie/50284332.配置与安装网上有资源,我就不重复了http://www.tuicool.com/articles/UnmaAn3.创建一个简单的node.js工程3.1 安装node.js安装刚才从官网下载的node.js的安装包后,安装的时候请按照默认路径来安 阅读全文
摘要:
Node.js是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写Node.JS扩展会是一个不错的注意。以下所有例子的源代码可在node扩展示例中找到 。编写Node.js C + +扩展很大程度上就像是写V8的扩展; N... 阅读全文
摘要:
对象ECMAScript做为一个高度抽象的面向对象语言,是通过对象来交互的。即使ECMAScript里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。一个对象就是一个属性集合,并拥有一个独立的prototype(原型)对象。这个prototype可以是一个对象或者null。让我们看一个关于对象的基本例子。一个对象的prototype是以内部的[[Prototype]]属性来引用的。但是,在示意图里边我们将会使用____下划线标记来替代两个括号,对于prototype对象来说是:__proto__。对于以下代码:var foo = { x: 10, y: 20};我们拥有一个这样的.. 阅读全文
摘要:
JavaScript单线程的误解在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。诚然,在前端的浏览器中,由于前端的JavaScript与UI占据同一线程,执行JavaScript确实为UI响应造成了一定程度上的麻烦。但是,除非用到超大的循环语句执行JavaScript,或是用阻塞式的Ajax,或是太过频繁的定时器执行外,JavaScript并没有给前端应用带来明显的问题,所以也很少有朋友抱怨JavaScript是单线程而不能很好利用多核CPU的问题,因为 阅读全文
摘要:
前言大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文Node.js at PayPal解释了为什么从Java迁移出来的原因: 开发效率提高一倍(2个人用更少的时间干了5个人的活), 性能提高一倍, 代码量减少33%, 文件减少40%,深层次原因是Java正在越来越走向封闭,而且变得越来越复杂而且oracle正在对Java收费,参见:Oracle计划发布收费版JVM, 这促使了越来越多的公司加入了去Java化的队伍,外面有很多人说PayPal正在迁移到node.js平台。我很高兴地在这里宣布,传言是真的,我们正在从Java迁移至node.j,由 阅读全文