請教,這樣需不需要使用物件池,這樣設計有問題嗎?
自己的班級網站,不用什麼EJB,Struts的模式,簡單的javabean+servlet+jsp,但是想設計的好一點,剛寫到User部分遇到一個問題
User.java
AbstractUser.java
以前這部分是直接寫User Class的,現在改成以上的模式,但發現原來用到的靜態方法不可寫在Interface中,只能寫成非靜態的(是不是像EJB2的Home方法?)
那麼在以下的UserManager需要用到很多次User中的這些"靜態方法",那麼我就想用一個User的靜態變數來呼叫那些方法
UserManager.java
DAOFactory.java
但我又擔心這些方法中的資料在共享訪問中會出現不一致,而同步這些方法開銷太大了吧,那麼我就是要用物件池?
不知道這樣考慮是不是有必要,關於資料在共享訪問,以及使用同步方面我理解不深,很不確定,謝謝解答 ^_^
User.java
public interface User { public abstract User getUserById(long userid);// like a static method public abstract int insert(Connection conn); public abstract int delete(Connection conn); public abstract int update(Connection conn); public abstract long getUserid(); public abstract void setUserid(long id); ...... } <p class="indent"> |
AbstractUser.java
public abstract class AbstractUser implements User { protected long userid; ....... public abstract User getUserById(long userid);// like a static method ...... } <p class="indent"> |
以前這部分是直接寫User Class的,現在改成以上的模式,但發現原來用到的靜態方法不可寫在Interface中,只能寫成非靜態的(是不是像EJB2的Home方法?)
那麼在以下的UserManager需要用到很多次User中的這些"靜態方法",那麼我就想用一個User的靜態變數來呼叫那些方法
UserManager.java
public class UserManager { private static Logger logger = (Logger) Logger.getLogger(UserManager.class.getName()); private static User USER = DAOFactory.getUser(); ...... } <p class="indent"> |
DAOFactory.java
public class DAOFactory { private static Logger logger = (Logger) Logger.getLogger(DAOFactory.class.getName()); public static User getUser() { User user = null; try { InitialContext ic = new InitialContext(); String className = (String) ic.lookup(JNDINames.USER_DAO_CLASS); user = (User) Class.forName(className).newInstance(); } catch (NamingException ne) { logger.error("DAOFactory.getUser occured a error about JNDI name: ", ne); } catch (Exception se) { logger.error("DAOFactory.getUser occured a unknown error: ", se); } return user; } } <p class="indent"> |
但我又擔心這些方法中的資料在共享訪問中會出現不一致,而同步這些方法開銷太大了吧,那麼我就是要用物件池?
不知道這樣考慮是不是有必要,關於資料在共享訪問,以及使用同步方面我理解不深,很不確定,謝謝解答 ^_^
相關文章
- 這樣的執行問題請教高手
- 請問, 這樣設計執行緒合理嗎?執行緒
- 向高手請教?怎樣實現這樣的DAO模式模式
- 請教一個物件設計的問題物件
- [提問交流]請教,這個TopThink程式有提供下載嗎?
- 程式設計師都這樣哄老婆的嗎?程式設計師
- 請教bang 這樣的提交能不能執行?
- Web前端開發怎樣學?你需瞭解這些問題Web前端
- 請問大家如何設計物件池?物件
- 設計模式之Mediator(中介者)這樣理解 對嗎?設計模式
- 請教有關template設計模式的問題設計模式
- 關於這樣的系統設計,求問?
- 『轉』這樣的程式設計師創業有戲程式設計師創業
- 這樣實現行嗎,有什麼缺點
- 位元組跳動面試官這樣問有關字串的問題!!面試字串
- 這樣分析一個死鎖問題
- Spring 可以這樣配置嗎?Spring
- 請教一個技術問題,又沒有人遇到過這樣的需求?求分享解決方案
- 學半年程式設計才知道“物件導向”可以這樣理解程式設計物件
- 這樣的專案還有價值重構嗎?
- 漫談程式設計師系列:程式設計師的生活就這樣嗎程式設計師
- MVP設計模式應該這樣掌握MVP設計模式
- 想學程式設計?這樣開始程式設計
- 程式設計師這樣寫程式碼程式設計師
- 請教一個observer設計問題。Server
- 年度獨立遊戲擁有這樣的玩家數,算成功嗎?遊戲
- 安裝jive時出現這樣的問題:
- 你們不能這樣招聘程式設計師程式設計師
- 程式設計師是這樣練字的程式設計師
- 你知道的反射是這樣嗎?(二)反射
- 我是這樣理解DAO的,對嗎?
- 你的企業有這樣的網路安全盲點嗎?
- 面試被問TopK問題,可以這樣優雅的解答面試TopK
- 我們公司一個系統大量使用session,請問這樣會有什麼後果影響?Session
- 請問"EJB方法呼叫框架"在這個裡邊有嗎?框架
- IP地址還可以這樣設
- [求助] 請問 jmeter 短連線,QPS 呈現鋸齒狀,這樣是正常的嗎?JMeter
- 我是怎樣教媳婦物件導向程式設計的物件程式設計