`
文章列表
如果需要用Shell来执行Groovy脚本的话,可以用以下三个命令。 1.groovysh: 启动一个groovysh命令行shell,来执行groovy代码交互。 2.groovyConsole: 启动一个可以执行groovy代码的图形界面,另外,groovyConsole还可以加载和执行Groovy脚本文件。 3.groovy : 启动groovy的脚本解释程序。单行的groovy脚本可以作为命令行参数被指定。  一:让我们先来看看groovysh吧。 在这个命令中,对于所有的脚本和代码块你都需要在shell中完成。相对来说,它还是比较简便的。 打一个shell,在命令行中输入:groovy ...
我们先来看看Groovy都带来哪些新特性. 你只需很少的代码就可以读取一个文件: number = 0new File("src/aa.groovy").eachLine({    line ->
GOF《设计模式》一书对Facade模式是这样描述的:        为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。        大致意思是说:使用一种比原有方式更简单的办法与系统交互。例如,我们把一个很文件的文件,放在了第二抽屉里,而第二个抽屉的钥匙放在了第一个抽屉里,我们要想取出这个文件,第一步肯定要拿到第一个抽屉的钥匙,然后打开它再拿出第二个抽屉的钥匙,最后打开第二个抽屉取出文件。        我就上面说的那个情形写一下实现代码,首先我们要实现二个子系统,呵呵,把抽屉比喻成系统,有点夸张了(DrawerOne、DrawerTw ...
 原型模式定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.     Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用? 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单. 以勺子为例: package com.pattern.prototype;/** *//** * 原型类(以汤匙为例) ,注意要实现Cloneable接口
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。  可以将native方法比作Java程序同C程序的接口,其实现步骤:  1、在Java中声明native()方法,然后编译;  2、用javah产生一个.h文件;  3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);  4、将第三步的.cpp文件编译成动态链接库文件;  5、在Java中用System.loadLibrary( ...
1、定义及作用       该模式以对客户端透明的方式扩展对象的功能。 2、涉及角色      抽象构件角色:定义一个抽象接口,来规范准备附加功能的类。       具体构件角色:将要被附加功能的类,实现抽象构件角色接口。       抽象装饰者角色:持有对具体构件角色的引用并定义与抽象构件角色一致的接口。       具体装饰角色:实现抽象装饰者角色,负责为具体构件添加额外功能。     3、简单实现 抽象构件角色java 代码: package com.pattern.decorator2;/** *//** * 抽象构件角色 * 
一、概述 当不需要全部实现适配器接口提供的方法时,可先设计一个抽象类实现适配器接口,并为接口中每个方法提供一个默认实现(空方法)。那么该抽象类的子类可有选择地覆盖父类的某些方法来实现需求。 二、结构   三、动机 对于一个接口不想使用其所有的方法时。我觉得把Default Adapter模式和Adapter模式割裂开来,不会影响对Default Adapter模式的理解。Default Adapter模式就是为目标接口提供一个平庸实现层,真正的实现类从此平庸实现层继承,Override其中对自己有意义的方法,而其他方法保持其平庸状态。为Target接口所需的方法统统提供一套缺省实现 ...
 对于Builder模式很简单,但是一直想不明白为什么要这么设计,为什么要向builder要Product而不是向知道建造过程的Director要。刚才google到一篇文章,总算清楚了。在这里转贴一下这位richardluo的比喻。简单地说,就好象我要一座房 ...
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还 有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且 能synchronize的安全自动加1,如果你要把这个数字永久保存到数据库,你可以在不修改单态接口的情况下方便的做到。 另外方面,Singleton也能够被无状态化。提供工具性质的功能,Singleton模式就为我们提供了这样实现的可能。使用Sin ...
GOF《设计模式》一书对Adapter模式是这样描述的:   将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。 图解 :       这段话大致是说:我们需要一种方式,为一个功能正确但接口不合的对象创建一个新接口。例如,客户给我们如下需求: 1) 为都有“显示”(display)行为的点、线、正方形分别创建类。 2) 客户对象不必知道自己到底拥有点、线、还是正方形。它只需知道拥有这些形状中的一个。 也就是说,我们要用一个更高层次的概念将这些具体形状都涵盖进去,这个高层概念可以称为:“可显示的形状”。因此,我 ...
jexcelapi是一个开源项目,主要用来操作excel. 主页地址:http://www.andykhan.com/jexcelapi/ 现在做一个项目用到了它,根据不同的公司生成不同的文件夹, 在相应的文件夹下生成对应的xls. 这里只帖出生成xls部分核心代码:     public void generateXls()    {        try
组合(Composite)模式主要角色: 1.Component角色 2.Leaf角色 3.Composite角色 package com.pattern.composite;   /** *//**   * 组件抽象角色   *   */  public
Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。所以Composite模式使用到Iterator模式,和Chain of Responsibility模式类似。Composite好处:1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户 ...
     摘要: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>仿QQ导航菜单</title> <style type="text/css"> .titleSty...  阅读全文 々上善若水々 2008-05-16 17:10 发表评论
也许你对先前的Groovy程序有点烦了,全是控制台程序,现在我们 来体验一下它的界面程序吧.<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->package comimport groovy.swing.SwingBuilder import java.awt.BorderLayout //声明一个Swi ...
Global site tag (gtag.js) - Google Analytics