MyLibrary Service設計(一)-ホームページ設計


この2,3日昼も夜も忙しくしている.Netの仕事~~コードを书いてbolgを更新する时间もないので、やっと昼寝の时间を利用してjava爽快に研究しました~~~
 
次はビジネス層を始めます~まずホームページから始めます.ホームページは簡単ですから~~主に2つの登録(管理者とユーザー)を設計しました.1つの登録を合わせて3つのインタフェースを使いました.もともと2つでいいです.それからこの3つのインタフェースを貼り付けましょう.また、出会った問題についてお話しします.
 
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. データベースの独立性レベルはユーザー名が重複できないため、ここでは虚読の問題に関連しています.悲観ロックと楽観ロックの2つのスキームがあります.永続層が書かれているため、楽観ロックは面倒ですが、悲観ロックは効率に影響しすぎます.spring宣言トランザクションを処理するとき、私はどうすればいいか分かりません.springのトランザクションが独立性レベルを定義できることを発見しました.関連する問題は最高レベルの独立性レベルを使ったので、このような損失の同時性があります.だから、この問題は私に一つの道理を教えてくれました.デザインは重要です.
 
    2. hibernateDaoSupportの問題はまたspringの問題でhibernateDaoSupportを使いたかったのですが、自分はまた迷ってしまいました.いったい使うかどうか、googleを見てみると、多くの人がこの悩みを持っていることに気づきました.googleの後、次のソースコードを観察してみると、hibernateDaoSupportは簡単にパッケージ化されているだけで、自分はテンプレートを完全に捨てることができ、管理しやすい一方で、一方で拡張性も強く、最後は自分でセッションを生成しましょう.
 
    3. 宣言トランザクションとは、ほとんどの人が使用しているもので、プログラミングトランザクションと最大の違いは、宣言トランザクションが自分で管理する必要がなく、便利で安全であることです.さらに注釈形式の声明式事務を用いたのだろう.
 
    4. 最後に、springマルチプロファイルの問題で、ネット上で多くの資料を探しましたが、自分で試していません.しばらくしてから、この問題の解決方法を貼りましょう.
 
    5. コードには不足やエラーがたくさんあるに違いない.実際に実行したことがないので、参考にすることはできない.私がシステムを作った流れと考えを記録するしかないだろう.