zhyiwww
用平实的笔,记录编程路上的点点滴滴………
posts - 536,comments - 394,trackbacks - 0

今天早上公交车上想到的系统的实现模式

 

 

Author      :      zhyiwww

E-Mail       :      zhyiwww@163.com

Date           :      2007-1-16

转载请注明出处 (copyright by @ zhangyi)

 

 

 

今天早上去上班的时候,在公交车上,我想了一下我们的一部分的实现方案。

我们有一个对象 User ,定义如下:

public class User{

       name;

       password;

 

       set***

       set***

       get***

       get***

}

这是一个单独的 bean

因为我们再传递密码的时候是需要加密和解密的。

但是,我们的加密和解密方案可能是会改变的。

那么我们如何来实现呢?

所以我就想,我可以用一个灵活的,可扩展的方案来实现。

 

我声明了一个接口:

Public interface Security{

       // 加密

       Void Encrypt();

       // 解密

Void crack();

}

我让上面的 bean 来实现此接口:

public class User  implements Security {

       name;

       password;

 

       set***

       set***

       get***

       get***

      

       // 加密

       Void Encrypt(){

}

       // 解密

Void crack(){

}

 

}

在此,我们可以看到,加密解密的部分,我们是要自己去实现的。

但是,实现对数据的加密和解密还是要去调用这个方法。

所以我们在其初始化的时候就实现加密:

 

public class User  implements Security{

       name;

       password;

 

       public User(String username,String password){

       this.name=username;

       this.password=password;

       // password 进行加密

encrypt();

}

       set***

       set***

       get***

       get***

      

       // 加密

       Void Encrypt(){

}

       // 解密

Void crack(){

}

 

}

 

但是加密如何实现呢?我们加密可能会采用不同的方案。

那么一种方案是 ,我们可以给没有一个方案单独的创建类,然后去实现加密和解密的方法。

这种方案,我们在实现的时候,使用哪一种方案都要去修改所有的方案,去实现对应的代码。可能工作量很大。

另一种方案就是 ,使用工厂。

我们使用工厂来决定和实现使用哪种方案。然后我们重建不同的方案来实现其功能。

可以通过配置,来决定使用哪种方案。这样,我们的系统的自由度就大了很多了。

至于工厂详细如何实现,在此我就不多说了。



|----------------------------------------------------------------------------------------|
                           版权声明  版权所有 @zhyiwww
            引用请注明来源 http://www.blogjava.net/zhyiwww   
|----------------------------------------------------------------------------------------|
posted on 2007-01-16 11:35 zhyiwww 阅读(1515) 评论(0)  编辑  收藏 所属分类: j2ee

只有注册用户登录后才能发表评论。


网站导航: