一个计算机技术爱好者与学习者

0%

beyond java

题记:没有语言可以永远保持领先地位,Java统治的时代将会结束,这不是“会不会”的问题,而是“什么时候”的问题。

不久前,我以为,Java会是最有前途的编程语言!不久前,我以为,Node.js非常强大!不久前,我以为,编程很苦!

现在,我发现,Java可以超越!现在,我发现,Node.js在很多方面比不上Fib.js!现在,我发现,编程依旧很苦!

之前写过一篇《发展方向的思考》,现在看来,如此幼稚。那么,我的发展方向又在哪里呢?不再定下什么具体的语言,或者前端后端之类。我的发展方向,在于掌握学习的能力!没有什么语言和技术是不会过时的,我要掌握的,是一种快速有效学习的能力!比如,接触一门新的语言、新的工具,能够在一周或者更短的时间内上手!

简而言之四个字:学会学习

阅读全文 »

实验要求

加深对控制反转和依赖注入的理解,使用Spring框架实现一个小的demo。

实验题目

IoC-DI的Java编程实现及Spring程序设计与实现

实验原理

IoC(控制反转)是一种软件设计模式,遵从了DIP(依赖倒置原则)。
DI(依赖注入),是IoC的实现方式。它提供一种机制,将需要依赖(低层模块)对象的引用传递给被依赖(高层模块)对象。
IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架)。
Spring框架:IoC容器。Spring的IOC容器主要使用DI方式实现的。不需要主动查找,对象的查找、定位和创建全部由容器管理。

阅读全文 »

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对不同用户的输 入做不同的响应,是一个非常好的策略模式列子。

摘自文档:http://damoqiongqiu.iteye.com/blog/1949256

hello voidking

查看效果

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
2
3
router.get('/', function(req, res) {
res.render('index', { title: 'Express' });
});

修改如下:

1
2
3
router.get('/', function(req, res) {
res.render('index', { title: 'voidking' });
});

看懂了吧,把“voidking”赋值给了title,仅此而已。

阅读全文 »