| Subcribe via RSS

Linux下安装LaTex

12月 27th, 2009 | No Comments | Posted in LaTex

早就想投到LaTex的阵营去了,源于曾看过一篇介绍Donald.E.Kunth的简介,Tex是他的作品:)以前读书时也用过一段时间,因为当时学校还不能用LaTex写论文,也就放下了,好了,现在没人强迫了,准备安心用LaTex了。下面是我使用的环境。

OS:Ubuntu 9.10

Editor:Kile(作为LaTex前端),非常好用,还有代码自动完成功能

PDF viewer:Okular

安装Kile:

运行:

sudo apt-get install kile

安装okular

sudo apt-get install okular

要想使用中文,需安装CJK

sudo apt-get install latex-cjk-all

在编辑时象这样直接使用中文:

\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{gbsn} %gbsn代表宋体,楷体为gkai
这里是中文哦~~~
\end{CJK}
\end{document}

就这么简单,哈哈,后面抽时间写点LaTex的使用,边学边用。

来张截图:

2009-12-27_151952

IOC(DI) in Flex

12月 10th, 2009 | No Comments | Posted in ActionScript3, Flex3, Tips Tricks, ioc

IOC:Inversion of Control(反转控制)

DI:Dependency Injection(依赖注入)

IOC一词来源于Martin Fowler发表的一篇文章,《Inversion of Control Containers and the Dependency Injection pattern》

那是什么被反转控制了?实际上指的是对象之间的依赖关系被反转控制了,原本由类自身维护所需对象实例的创建现在转由外部的IOC容器来维护。这种维护对象实例化的负责方被反转了。而依赖注入(DI)呢?意思更加明确,即获得所依赖对象的方式是由IOC容器从外部直接注入进来,而非我们通常的使用new的方式在类中来完成。

在JAVA中,大家熟知的Spring框架其核心内容便是反转控制及依赖注入。

使用IOC(DI)有什么好处?大致来说有两点:

1、类或模块之间的耦合度降低了,代码更易重用和维护

2、更加便于编写可测试的代码

随着面向对象的Actionscript3.0的推出,尤其是Flex在企业级应用中越来越多的应用,Flex(Flash)应用框架也越来越多,也有不少框架实现了IOC的功能,当然也包括一些独立的IOC容器框架。

image

在as3中实现IOC,核心是使用as3中的反射来完成的,相对来说,as3中的反射比起Java来说确实弱了不少,主要是利用describType返回的属性XML进行解析,而这样对性能会有一定的影响,若在as3中大量使用反射的话,一定要考虑到这一点. 另外,关于使用的配置文件,有以XML来进行的,有以MXML来实现的,也有两都均支持的,需注意的是以XML来实现的好外是我们可以直接更改外部XML而不需要重新编译相应源文件,而若使用MXML的话当你更改配置的话需要重新进行编译.

当然,目前以as3实现的IOC也有很多了,主要两在块:

  • 独立的IOC容器:

Flicc

smartypants-ioc (名字取得不错,呵呵)

SwiftSuspenders (比较小巧)

  • 实现了IOC功能的完整框架:

Spring Actionscript(原名:Prana,此框架现已归入Springsource,几乎是Spring IOC实现的as3翻版,熟悉Spring的Java开发人员几乎不需要什么过渡就能理解)

Swiz(也属于比较成熟的框架了)

Robotlegs(MVCS框架,可集成使用其它任何DI容器,最初建立在smartypants-ioc,目前自身使用SwiftSuspenders)

Parsley(由PowerFlasher开发,个人比较喜欢这个框架,严格意义上来说它不算MVC框架,属于一套Toolkit,你完全可以使用自己的MVC方式来组织)

另外这里一份代码,一个Sample,以不同的IOC框架来实现,应该对大家学习比较有用:

http://code.google.com/p/flex-ioc-examples/

希望大家能找到适合自己项目使用的IOC容器^_^