猪猪的IT之路---Java成长之路(三层架构)
三层架构:将程序中所有的类按照功能类别划分为3个层次(将所有类用于3个不同包存放)
实体层:entity,该包下存放所有的实体类(数据类,只有属性(和数据库字段对应的属性)和属性的封装(setter/getter,构造函数))
注意:实体类的类名一般都应该和数据库名一致)(如果数据库中的表为区分关键字而添加的前后缀,在类名应该不要,数据库表名:tb_user,类名:User),但是一定有实际意义
数据访问层:dao,该包下存放的类都是数据访问类,类中只有操作数据库的方法,方法中也只有操作数据库的步骤代码(对应异常的处理不算操作数据库代码)
注意:数据访问类的类名一般都是实体类名+dao(这是访问接口命名),接口实现类命名(实体类名+Dao+Impl)数据库表名:tb_user 实体类名:User 数据访问接口:UserDao 接口实现类:UserDaoImpl
业务逻辑层:service,该包下存放的都是业务逻辑类,程序执行时调用的都是业务逻辑类中的方法,业务逻辑类负责调用数据访问类(同时解决dao类中的异常,以后的日志输出也是该层负责,以及其他业务的扩展)
注意:业务逻辑类的类名一般都是实体类名+Service(这是访问接口命名),接口实现类命名(实体类名+Service+Impl)数据库表名:tb_user 实体类名:User 数据访问接口:UserDao 接口实现类:UserDaoImpl 业务逻辑接口:UserService 接口实现类:UserServiceImpl
其他层:
工具层:util,类名都是:功能名+Util
……
视图层:view/map层的类中都是各种在控制输出界面的方法
开发流程:
1.新建包
2.根据三层架构规则去创建类和接口
Dao接口层:方法命名一般都是以select,insert,delete,update开头
Dao接口实现类层:操作数据库的步骤代码,不写任何与数据库操作不相关的代码
Service接口层:方法名一般都是get,add,remove,或者以功能命名,into(入住)
Service接口实现层:调用dao的方法并完成一些功能处理(比如异常处理)
实体层:封装数据实体,与数据库表一一对应
其他层:
工具层:JDBCUtil
视图层:该层当前项目中需要定义的,并不属于三层架构中的层次
系统视图:在最终在主函数中调用的视图