MyLibrary Service设计(一)-主页设计

  这两天没日没夜的在忙.net的工作~~连写个代码更新个bolg都没时间,总算利用午觉时间研究了会java 爽啊~~~

 

  下面就开始做业务层了~先从主页入手 因为主页简单嘛~~主要就设计了2个登陆(管理员和用户) ,1个注册 算起来一共用了3   个接口 本来2个就可以了 然后就是贴出这三个接口吧~~再讲讲遇到的问题

 

 MainManageLogin(管理员登陆)

 /**

 * 管理员登陆接口
 * 
 * @author ConDey
 * 
 */
public interface MainManageLogin {

	/**
	 * 验证管理员是否合法
	 * 
	 * @param user
	 *            登陆管理员
	 * @return true 管理员合法 false 管理员不合法
	 */
	public boolean checkManage(User user);

	public SessionFactory getSessionFactory();

	public void setSessionFactory(SessionFactory sessionFactory);

	public UserDao getUserDao();

	public void setUserDao(UserDao userDao);

}

 MainUserLogin 用户登陆

 

/**
 * 普通用户登陆接口
 * 
 * @author ConDey
 * 
 */
public interface MainUserLogin {

	/**
	 * 验证用户是否合法
	 * 
	 * @param user
	 *            登陆用户
	 * @return true 用户合法 false 用户不合法
	 */
	public boolean checkUser(User user);

	public SessionFactory getSessionFactory();

	public void setSessionFactory(SessionFactory sessionFactory);

	public UserDao getUserDao();

	public void setUserDao(UserDao userDao);
}

 

    MainRegister 用户注册

   /**

 * 用户注册接口
 * 
 * @author ConDey
 * 
 */
public interface MainRegister {

	/**
	 * 检测用户名是否可用
	 * 
	 * @param userName
	 * @return true 该用户名未被注册 false 已存在 不可用
	 */
	public boolean CheckName(String userName);

	/**
	 * 新用户注册
	 * 
	 * @param newUser
	 *            新用户注册
	 * @return true 注册成功 false 注册失败
	 */
	public boolean RegisterUser(User newUser);

	public SessionFactory getSessionFactory();

	public void setSessionFactory(SessionFactory sessionFactory);

	public UserDao getUserDao();

	public void setUserDao(UserDao userDao);

}

 

    下面说一说到最近想到的问题吧

    1.  数据库隔离级别 因为用户名是不能重复的吧 所以这里涉及到了虚读的问题 有两种方案 悲观锁和乐观锁 因为持久层已经写好的缘故 乐观锁太麻烦了 但是悲观锁又太影响效率 不知道怎么办 我在处理spring声明式事务的时候,发现spring的事务能定义隔离级别 因为涉及到的问题 我用了最高等级的隔离级别,这样损失的并发性,所以,这个问题教会了我一个道理...设计是很重要的。

 

    2. hibernateDaoSupport的问题 又是spring的问题 本来想使用hibernateDaoSupport的,但是自己又犹豫了起来,到底用不用呢,google了一下,发现很多人都有这个烦恼,google之后,又观察了下源代码,发现hibernateDaoSupport只是简单的封装了一下,自己完全可以舍弃模板,一方面方便管理,另一方面可扩展性也强一些,最后还是自己生成session吧。

 

    3. 声明式事务 话说这个东西大部分人在使用,和编程式事务最大的不同就是声明式事务完全不需要自己管理,方便安全。进而还是使用了注解形式的声明式事务吧。

 

    4. 最后一个,spring多配置文件的问题,网上找了很多资料,但是都没有亲自去试,过一段时间再把这个问题的解决方法贴出来吧。

 

    5. 代码肯定有很多地方有不足或者错误,因为并没有实际运行过,所以并不能作为参考,只能算记录下我做系统的一个流程与思想吧。

你可能感兴趣的:(spring,编程,.net,Google,配置管理)