今天早上公交车上想到的系统的实现模式
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