集合用户登录的案例

练习:用户注册后登录玩游戏

回顾java面向对象须知

1)当前需求中有哪些类?
2)知道某些类,这些类中有什么东西?
3)这些类和类之间有什么关系?

分析整个流程

1---用户登录网页,跳转到软件(游戏或知乎等)的登录页面,登录页面我们简单一点描述一下有用户名(useName)、密码(passWord)、提交和取消,当用户注册的用户名和密码符合规则(正则表达式判断),就提交到服务器,如果不符合就给与温馨提示(包括已经注册过的等)。

2---服务器中有一个数据库存取用户的注册信息;当用户提交注册信息后就存取到后台数据库中,简单描述一下数据库,有一张用户表,包含许多字段信息:id(用户的序号)、用户名、密码等。用户表的作用:供用户登录时信息的校验,如果有此信息则登录成功,无此信息就给予提示(用户名不对或者注册失败)。

3---后台服务器存取完数据后,就给当前页面返回一个信息(注册成功),此时跳转到登录界面。如果开始登录,则输入用户名和密码,输入完毕后,将信息发送到服务器端,在服务器端的数据库中进行校验,如果校验成功,给前台(登录页面反馈信息),即登陆成功,跳转到相应的界面;如果不想登录,直接点取消(登录),关闭当前页面

4---进入游戏界面,开始玩猜数字游戏

感悟:关于这个业务逻辑的细节,最好的理解方式就是去自己去注册,把各种突发状况包含进来(暂时不好考虑页面的美工等)

下面进入正题,具体的实现(忽略次要信息)

1)需求中有哪些类?

    用户类

    成员变量:基本信息描述----useName、passWord等

    成员方法:注册,登录

由于在开发中,经常遇到按功能划分,还是按照模块划分(后续会提到),产生了两种策略:

1)先按照功能划分,再按照模块划分

2)先按照模块划分,再按照功能划分

经分析,由于用户先注册再登录,就可以把用户类按照功能划分

即:1用户操作接口:2用户操作接口的实现类

在用户操作接口中定义抽象的方法---注册、登录----这样做的原因是:java也是面向接口的编程(后续会提到面向切面编程)

在用户操作接口的实现类中---实现具体的业务逻辑:注册和登录

    测试类:定义一个用户的类UseTest

用户类和测试类的关系:在测试类中创建用户类对象来操作登录和注册功能

在开发中包命名的规则

1)用户的描述类:Use---放到实体类的包中

也即包的命名:域名.公司名.entity;

形如:org.wzj.entity

2)用户操作的接口:

包的命名:域名.公司名.dao----(dao层)

形如:org.wzj.dao

3)用户操作接口的实现类

包的命名:域名.公司名.dao.imp----(接口的实现层)

包的命名:org.wzj.dao.imp----业务逻辑层(接口的子实现类)

形如:org.wzj.dao.imp

4)测试类

包的命名:域名.公司名.test

形如:org.wzj.test

说明:针对业务(注册和登录)进行测试

猜你喜欢

转载自blog.csdn.net/wzj_110/article/details/78544690