怎么说这个项目业务层2187

上传人:壹****1 文档编号:576348490 上传时间:2024-08-19 格式:PDF 页数:2 大小:118.66KB
返回 下载 相关 举报
怎么说这个项目业务层2187_第1页
第1页 / 共2页
怎么说这个项目业务层2187_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《怎么说这个项目业务层2187》由会员分享,可在线阅读,更多相关《怎么说这个项目业务层2187(2页珍藏版)》请在金锄头文库上搜索。

1、-生命不息- -奋斗不上- 2 业务层的处理: 在业务层,我们要处理的有三个部分:公共信息、用户信息还有业务层的隔离。 以用户登录为例,画下图,由于业务是在界面和数据传输之间的,所以这两个都要有。 界面里有用户名、密码、登陆按钮,这些数据都是要提交给业务层的,业务层会有一个login 方法,把提交的用户信息数据传进来,拿到数据之后,在业务层的这个 login 方法中,第一步是获取请求用的 xml 文件并设置密码信息,一旦拿到了这个 xml 文件,就可以利用之前在网络层做好的网络传输数据的工具类进行 xml 文件的传输了,然后就是等着服务器的回复。这时候,我们要注意的是要加一个非空的判断,把服务

2、器端画出来,服务器端有一个用户登陆处理,还有一个结果返回,返回的是一个 xml 文件,如果不为空的话,则第三步,基于安全考虑,要进行数据校验,在这里主要比对的是 MD5 的比对,比对的是服务器端提供的 MD5 信息和手机端自己生成的 MD5 信息,服务器端生成的 MD5 信息可以在 xml 文件中获取,手机端生成的 MD5 相对麻烦一点,要想拿到这个 MD5 信息,要拿到组成这个 MD5信息的三个部分,也就是时间戳、密码和完整的明文 body,时间戳和 body 可以从 xml 文件中获取,但是这里的 body 需要用 DES 解密来生成明文的 body,把这三个数据拼装好之后,再利用 Dig

3、estUtil 再生成一个手机端 MD5 值,这时候服务器端的 MD5 值和手机端 MD5 值就都有了,把他们进行比对,如果相等,那么说明这个数据是 OK 的,是安全的。然后我们就要对这个安全的 body 进行处理了,主要做的是对请求回复结果的处理,然后就是把回复结果显示在界面上提示用户。这就是业务层的四步操作。整个业务层处理的过程中,界面上始终有一个进度条在显示来改善用户体验。 这是用户登陆的操作, 其他的请求也可以利用这四步搞定。 其中有两步是不变的而且是代码一点都不改变。 我们就可以把它抽取出来,放到一个业务基类中去。而正是这些不变的部分提高了代码维护,提高了编码速度。 业务层还要做的就

4、是实现业务层的隔离, 降低界面与业务层的耦合度, 这里使用到了工厂模式, 这就涉及到了一些内聚和耦合的东西,其实就是自己管自己的东西。比如在登陆界面,我们在做登陆操作的时候需要把这个类给 new 出来,之后再往里面设置值,调用里面的方法,这样在我们实际开发时就会有个问题,当业务层写完之后,业务又变更了,需要改的地方非常多,有可能整个业务类就废掉了,又得写一个新的业务类,而这个类的名字改变了就会影响到很多实用这个类的界面,这就把整个项目都给影响了。而我们已经分析出了这个问题,就要实现它带来的影响的最小化,这就得使用工厂模式来搞定,在这里,我就不把业务的实现类扔到界面上去了,而是把一个接口扔上去,

5、如果变动了,大不了再写一个实现类而已,而界面上能看到的就只有接口,而如果要求再更改,只需要在配置文件中更改实现类就可以了,配置文件里是键值对,存的是接口的内容。说道工厂类,可以这么理解,你打电话到外卖工厂,要从外卖工厂里获取外卖,工厂里有自己做外卖的方法,由工厂自己处理,而我并不需要管,我只要拿到外卖就可以了。工厂模式的写法: public class BeanFactory / 按配料单生成馒头 private static Properties properties; static properties = new Properties(); InputStream is = BeanFa

6、ctory.class.getClassLoader().getResourceAsStream(bean.properties); try properties.load(is); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); public static T getImpl(Class clazz) String key = clazz.getSimpleName();/ 简单名称 String className = properties.getProperty(key); try return (T) Class.forName(className).newInstance(); catch (Exception e) e.printStackTrace(); -生命不息- -奋斗不上- 2 return null;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号