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

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

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

Author      :      zhyiwww<o:p>

E-Mail       :      zhyiwww@163.com<o:p>

Date           :      2007-1-16<o:p>

转载请注明出处 (copyright by @ zhangyi)<o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

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

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

public class User{<o:p>

       name;<o:p>

       password;<o:p>

<o:p> </o:p>

       set***<o:p>

       set***<o:p>

       get***<o:p>

       get***<o:p>

}<o:p>

这是一个单独的 bean

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

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

那么我们如何来实现呢?

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

<o:p> </o:p>

我声明了一个接口:

Public interface Security{<o:p>

       // 加密 <o:p> </o:p>

       Void Encrypt();<o:p>

       // 解密 <o:p> </o:p>

Void crack();<o:p>

}<o:p>

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

public class User  implements Security {

       name;

       password;

<o:p> </o:p>

       set***

       set***

       get***

       get***

      

       // 加密 <o:p> </o:p>

       Void Encrypt(){<o:p>

}<o:p>

       // 解密 <o:p> </o:p>

Void crack(){<o:p>

}<o:p>

<o:p> </o:p>

}

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

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

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

<o:p> </o:p>

public class User  implements Security{

       name;

       password;

<o:p> </o:p>

       public User(String username,String password){<o:p>

       this.name=username;<o:p>

       this.password=password;<o:p>

       // password 进行加密 <o:p> </o:p>

encrypt();<o:p>

}<o:p>

       set***

       set***

       get***

       get***

      

       // 加密

       Void Encrypt(){

}

       // 解密

Void crack(){

}

<o:p> </o:p>

}

<o:p> </o:p>

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

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

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

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

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

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

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

94177.html

zhyiwww 2007-01-16 11:35 发表评论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值