This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I wanted to pose a basic question as to what is a best approach when designing a web application. Case in point for a scholastic application:
1) thirty students login to their accounts and try to access the same information. 2) in doing so, they all call the same servlet which in turn calls a class named "StudentModel" and a method named getStudentList() which would return a 2D String array of data. 3) the getStudentList() method retrieves from a database the list of all the students in the school
Is it better to make the method getStudentList() a static method so that the servlet calls it directly as in: String data = StringStudentModel.getStudentList()?
Or is it better to make the method non-static, in which case, the servlet would have to make an instance of the class StudentModel thirty times?
Making the method static because of an anticipated performance issue is folly. Please look up the term "premature optimization".
Design according to established OO principles, and then if (and only if) performance issues raise their head, use profiling tools to locate actual bottlenecks. [ July 23, 2006: Message edited by: Bear Bibeault ]