Notepad++比较文本内容
插件,Plugin Manager,Show Plugin Manager,找到Compare,Install。
打开需要对比的两个文件,插件,Compare,Compare。或者直接使用Alt+D。
GoF (Gang of Four,四人组,《Design Patterns: Elements of Reusable Object-Oriented Software》/《设计模式》一书的作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)并没有把MVC提及为一种设计模式,而是把它当做“一组用于构建用户界面的类集合”。
在他们看来,它其实是其它三个经典的设计模式的演变:观察者模式(Observer)(Pub/Sub),策略模式(Strategy)和组合模式(Composite)。
根据MVC在框架中的实现不同可能还会用到工厂模式(Factory)和装饰器(Decorator)模式。
models表示应用的数据,而views处理屏幕上展现给用户的内容。为此,MVC在核心通讯上基于推送/订阅模型(惊讶的是在很多关于MVC的文章中并没有提及到)。当一个model变化时它对应用其它模块发出更新通知(“publishes”),订阅者(subscriber)——通常是一个Controller,然后更新对应的view。观察者——这种自然的观察关系促进了多个view关联到同一个 model。
对于感兴趣的开发人员想更多的了解解耦性的MVC(根据不同的实现),这种模式的目标之一就是在一个主题和它的观察者之间建立一对多的关系。当这个主题改变的时候,它的观察者也会得到更新。Views和controllers的关系稍微有点不同。Controllers帮助views对不同用户的输 入做不同的响应,是一个非常好的策略模式列子。
1、单击webstorm右上角的绿色三角形(或者shift+f10),运行项目。
2、打开浏览器,输入localhost:3000,有没有看到welcome to express ?
下面我们把welcome to express修改为hello voidking!
1、打开views文件夹下的index.ejs,诶?这不是html代码吗?发现有个<%= title%>,这是个啥玩意?
这时,我们就要解释一下模板引擎了。专业一点说,模板引擎是一个可以根据模板生成html代码的工具。通俗一点讲,模板引擎就像是一个函数,不同的x值对应不同的y值。
比如y=x+1,当x=1时y=2。这里的x就相当于<%= title%>,y就相当于html页面。懂了?不懂拉倒,自己慢慢想,这不是重点。
2、知道了原理,修改就简单了,不就是给x赋值嘛!打开routes文件夹下的index.js文件,看到这段代码:
1 | router.get('/', function(req, res) { |
修改如下:
1 | router.get('/', function(req, res) { |
看懂了吧,把“voidking”赋值给了title,仅此而已。
下载安装node.js。安装完成后,进入命令提示符界面,输入node --version
,如果能出现node的版本号,则说明安装成功。
java程序开发,我喜欢eclipse;node.js程序开发,我选择的工具是webstorm。至于软件下载破解啥的,都是基本功,在此不赘述。
1、打开webstorm,file -> new project
2、输入project name,选择location,project type选择node.js express app
3、node.js interpreter和npm excutable的位置默认就好(自动读取),version of express-generator选择最新版4.9.0,template engine选择ejs,css engine选择plain css。
4、ok,this window,如果接下来弹出configure node.js v0.10.31 core modules sources,直接点cancel就好,用不到。
5、好了,项目基础框架搭建好了,看下效果: