javaee-项目组织和管理01-mvc分层架构下的命名方式约定的思考与整理

1 粗略约定和常规实现

dao层

– UserDao接口
– UserDaoImpl实现类

 int userInsert(User user);
 int userDelete(Integer id);
 int userUpdate(User user);
 List<User> userSelectAll();
 User userSelectById(Integer id);
 List<User> userSelectByName(String name);
 List<User> userSelectByLoginnameAndUserName(String loginname,String username);

或者是

int insertUser(User user);
int deleteUser(User user);
int batchDeleteUsers(Integer[] ids);
int updateUser(User user);
int batchUpdateUsers(Integer[] ids);

User selectUserById(Ineteger id);
List<User> selectUserByName(String name);
List<User> selectAllUsers();
int selectUserCount();
List<User> selectUserByNameAndGender(String name,String gender);

service层

– UserService接口
– UserServiceImpl实现类

int userSave(User user);
int userRemove(Integer id);
int UserEdit(User user);
List<User> userGetAll();
List<User> userGetByName(String name);

或者是

int saveUser(User user);
int removeUser(User user);
int editUser(User user);
int modifyUser(User user);
int updateUser(User user);

User getUserById(Ineteger id);
List<User> getUserByName(String name);
List<User> getAllUsers();
int getUserCount();
List<User> getUserByNameAndGender(String name,String gender);

User findUserById(Ineteger id);
List<User> findUserByName(String name);
List<User> findAllUsers();
int findUserCount();
List<User> findUserByNameAndGender(String name,String gender);

    add/save/register/set
    findById/getById
    findByXXX
    findXXXList
    modify
    remove

从业务角度来看,后者列合适以后做RESTful风格的接口

实体层

user
userVO
userDO
userDTO
userBo
不要命名为userPOJO,因为它是统称

但个人认为,可以带有bean的后缀,表示它确实是一个数据bean或是方法bean
比如:
userBean
orderBean
productBean

一般情况下,库中的每一张表都应至少有一个实体与之对应
每一个具体的业务数据,建议做一个实体与之对应
每一个具体的操作数据,建议做一个实体与之对应

  • 多个用户时,可以建议命名约定为users
  • 或者按数据结构直接命名成

userList
userMap
userSet

  • 单个用户时,直接命名为user,如果与业务中有些用户名命名冲突,可以简化为

u
user
userEntity

2 实际应用

应用系统中经常应用分层

Dao层(数据库访问)
Service层(业务处理)
Controller层(即控制器层)
Web层(页面控制action类)
每一层的类的名称尽量带上该层后缀。

2.1 Dao层

a、接口类:采用JavaBean+Dao+Interface的形式来定义,即,实体对象+Dao+Interface。
	如:用户对象接口类: UserDaoInterface,其中xxx为模块名称。
	如:UserDaoInterface,UserDao
b、实现类:采用JavaBean+Dao+Interface+Impl的形式来定义
	即,实体对象+Interface+Impl+Dao。 
	如:用户对象实现类:UserDaoInterfaceImpl
	如:UserDaoImpl

2.2 Service层

a、接口类:采用Xxx+Service+Interface的形式来定义
	即模块+Service+Interface     
	如:用户管理接口类:UserMsgServiecInterface
	如:UserManageService
b、实现类:采用Xxx+Impl+Service+Interface的形式来定义
	即模块+Service+Interface+Impl
	如:用户管理实现类:UserMsgServiecInterfaceImpl
	如:UserManageServiceImpl

2.3 Controller层

实现类:采用 控制动作+Controller的形式来定义
	如:
	SaveUserController
	EditUserController
	GetUserController
	GetUserByIdController

2.4 Web层(action类)

a、实现类:采用 Xxx+Operator+Action的形式来定义
	即,模块+操作+Action。
	如用户模块User+删除操作Delete+Action = UserDeleteAction
	userGetAction.action
	userGet.do
	userSave.do

	或者
	getUser.do
	saveUser.do
	editUser.do
	delUser.do
	getUserCount.do
	getUserById.do
	getUserByName.do

3 禁区

  • 不要用中文
  • 不要用拼音,除非确实是非常专有的一些工程技术环境
  • 不要用随意的aaa,bbb之类的搞法

你可能感兴趣的:(JAVAEE)