我看一些代码,当处理一些业务逻辑时往往是先定义一个接口,然后去写这个接口的实现类,再去servlet中调用这个实现类的对应方法,我的问题就来了,为什么不直接在servlet中去写相应的业务处理,而是通过接口的方式去实现,这样写有什么好处呢??
希望大伙给点说明,高分奉送...
希望大伙给点说明,高分奉送...
解决方案 »
- 搞了一整天都不知道么回事,这个xml就是不能解析?
- jTable:选择某行,在jTextArea中输入内容,如何一一对应保存
- 请问:short s1=1;s1+=1; ...
- 请问如何在初始化一个JTABLE的时候,把一个指定的单元格设置成编辑状态
- 高手们帮忙看一下,怎样解决这个问题
- 怎么样理解工程模式,内部类,匿名类等?
- 用记录集插入记录是怎么回事?
- [高分求教分页思想][高手快进]
- 求面积问题,请大家来帮忙讨论!
- 我想编一个程序,把TXT文件中的某单词,换成另一个。请问思路,请大家指教。谢谢
- Spring mvc 如何遍历传递到jsp的map
- 查询所有帐户总额的方法为什么也要用synchornized
这种设计是面向对象设计的原则问题,如果你直接在servlet
中实现业务逻辑,就依赖于具体了,但是实际中需求是在变换的!
依赖于具体也就意味着你完成的大部分代码会重写,重构!
其目的有两个:
1. 封装后,一般可以将封装好的部分,脱离使用者Servlet,替换到别的应用环境中。
2. 便于更换程序的底层实现。比如,更换数据库,那么Servlet的代码不用动,只更换相关实现类的代码即可。其他的方面,就不多说了。
一个Servlet里面用了,查询当前用户所在组的权限信息,另一个Servlet里也用到了。
那么,封装好这个查询功能,代码可以复用,没必要两个Servlet里,写相同的实现代码。