天地归一

常用链接

统计

ajax

IDE

java天空

JEE

mvc

scm

ws

xml

世界如我

图表

好友交流

工作流

开源精品

搜索

数据持久化

模板

正在学习中

空间

缓存

论坛文化

最新评论

2008年12月10日 #

第一章,单态

  Java饭管开张了,大家来恭喜.
  最流行菜品:麻辣三丝(Struts丝,Spring丝,Hibernate丝)
  厨师:Java版
  小二:Java版
  美女:小二,来盆你们店招牌菜。。。。。
  小二: 来了,麻辣三丝到了,您慢慢品尝.....(叽叽咕咕一大堆)
  美女:烦不烦啊,我的人啊,那来这多苍蝇?????????/@@@@@@@@@@@@@@@(知趣的走开)
 

  JDBC一号:小二,饿死了,快随便来一盆填肚子的
  小二:(嘿嘿,又来了个冤大头)麻辣三丝来了.....
  .
  .
  .
  终于到晚上12:59 59
  收工,累死了
  ~~~~~~~~~~~~~~~~~~~~
 

 
 店小,只请了一个小二,要求,服务所有顾客:
小二实现了单例,完成要求
单态模式两种表现方式:单态单例,单态多例

 

posted @ 2008-12-17 23:35 张江平 阅读(381) | 评论 (4)编辑 收藏

生活与模式

  模式---生活的一种提炼,取之于生活,还之于生活
  仅以个人之理解,解析一下,多多交流

posted @ 2008-12-17 23:11 张江平 阅读(187) | 评论 (0)编辑 收藏

从圆明贺谈SSO

  很久以来,一直是认为,知识是没有壁垒的,方法是通用的。
  比如四人帮的24种设计模式,源自己于建筑模式的灵感,应用于计算机。反之,这几种模式同样也适应于其它行业.
  SSO,英文名Single Sing On 单点登录。这东东为什么会出现,基于以下几种场景:一个公司,有多套系统,由多个机构开发,有各自独立的权限系统。本来很久以来都运行的好好的,一段时间后,由于某个人能力特强,身兼数职,麻烦来了,如果是两三套系统,就有两三套密码,要是更多,不想了,取个折中的方案,全部设一个密码,解决密码问题,那帐号呢,那个可能能随便改,现在为了方便,强行统一了帐号,要一套一套的系统去修改用户帐号,可不是一件简单的事。
  既然这么麻烦,有没有一种解决方案呢,归根结底,用户帐号和密码是给谁认----计算机系统,这就容易了,我把各套系统的帐号统一起来,建立一个新的机制(这个就叫SSO-server吧),让用户从一个系统登录以后,就在这个新系统里面登录一个Token,如果他再访问其它系统,那个系统将带着他的Token来请求SSO-server问他,“这个人登录过吗”,得到回答继续处理.
  缘起:关注SSO这东东时,正好和朋友一起去逛了下世界最大的私家圆林---圆明圆
  事例现场:圆明圆售票管理处征集处理方案,暂定50景点
  方案1:每个景点设个卖票点
      单景点最小化开销:检票/售票员 一名,检票用具一套,售票用具一套     
      统计:50人,50套售票用具,50套售票用品
  方案2:在公园大门设一售票点,各分景点只设检票员
      前题:售单票,和组合票(SSO系统访问可配置)
      开销:大门:售票员一名 ,售票用品一套
            分景点:检票员一名,检票用品一套
           统计:51 人,1套售票用具,50套检票用品
  你选那一个
 
     

posted @ 2008-12-16 18:51 张江平 阅读(159) | 评论 (0)编辑 收藏

Freemaker初探


由于这近比较有时间,翻看了几个流行开源框架源代码,模板生成技术他们都有用。

基本使用的有两种 Velocity,Freemarker,两种技术各有千秋,根据这些开源程序要么同时支持,要么都不支持,可以证明他们的客户受众都占有很大的份量,同时也说明了模板技术其实在本质上又是相通的,只不过用了不同的表现手法而已.

个人接触这个技术比较晚,当然用比较新的东东(其实还有一个原因,英文不好,对于开源的东东,主要是图解,Freemarker首页上的一张图道出了模板的实质),就说了Freemarker。

Freemarker 由4部分组成:模板(Template),数据源(实现树形结构的任何数据:xml,javaBean,数据库...),模板处理器(Freemarker API),输出(流)。

通 俗一点说,如果在工厂做过流水线或看过,一看就清楚了,拿一个塑胶玩具厂来说,Template:模具,Java Objects:原料,处理器:热成型机,Output:玩具.当我们需要不同的玩具, 我们要做的是定制不同的模具,如果我们要做不同颜色的玩具,我们要做的就是更新原料的种类,那么前面的定好了,接下来的就是把原料倒进去,在后面收成品就 可以了


posted @ 2008-12-10 01:01 张江平 阅读(290) | 评论 (0)编辑 收藏

Freemarker完成一个简易Bean生成器

Freemaker写的Bean生成器,主要组成:javabean.ftl,BeanMetaData(原数据定义),PropertyMetaData(属性定义),BeanBuilder构建器用于生成源代码(.java)文件和生成(.class)文件,简易实现了一个由给定字符串生成JavaBean的实现

javaBean.ftl

package ${packageName};

/**

*${comment}

*/

public class ${simpleName?cap_first} implements java.io.Serializable{

private static final long serialVersionUID=${serialVersionUID};

public ${simpleName?cap_first}(){}

<#list fields as field>

<#assign filedType=field.type/>

<#assign filedName=field.name/>

<#assign filedComment=field.comment/>

/**

*${filedComment}

*/

private ${filedType} ${filedName};

/**

 * @param ${filedType}

 */

public void set${filedName?cap_first}(${filedType} o)

{

  this.${filedName}=o;

}

/**

 * @return ${filedType}

 */

public ${filedType} get${filedName?cap_first}()

{

  return this.${filedName};

}

</#list>

}

源代码,欢迎交流

源代码:欢迎交流

posted @ 2008-12-10 01:00 张江平 阅读(848) | 评论 (0)编辑 收藏