Zdecydowanie Nie. Właściwie powinieneś spojrzeć na wzór DAO (Data Access Object).
Same klasy modeli są odpowiedzialne jedynie za przesyłanie informacji z jednej instancji logicznej do drugiej i powinny zawierać tylko metody getera i settera.
klas DAO są odpowiedzialne za przechowywanie aktualizacji lub pobierania informacji tworzą pewne źródła danych (bazy danych) .Tutaj jest przykładem DAO wzoru:
public class BookDAO {
private PreparedStatement saveStmt;
private PreparedStatement loadStmt;
public DBBookDAO(String url, String user, String pw) {
Connection con = DriverManager.getConnection(url, user, pw);
saveStmt = con.prepareStatement("INSERT INTO books(isbn, title, author) "
+"VALUES (?, ?, ?)");
loadStmt = con.prepareStatement("SELECT isbn, title, author FROM books "
+"WHERE isbn = ?");
}
public Book loadBook(String isbn) {
Book b = new Book();
loadStmt.setString(1, isbn);
ResultSet result = loadStmt.executeQuery();
if (!result.next()) return null;
b.setIsbn(result.getString("isbn"));
b.setTitle(result.getString("title"));
b.setAuthor(result.getString("author"));
return b;
}
public void saveBook(Book b) {
saveStmt.setString(1, b.getIsbn());
saveStmt.setString(2, b.getTitle());
saveStmt.setString(3, b.getAuthor());
saveStmt.executeUpdate();
}
}
To zależy w dużej mierze od ram używasz. – maba
Niektóre dyskusje tutaj - http://stackoverflow.com/questions/538870/java-static-methods-best-practices. Nie użyłbym metod statycznych osobiście, ponieważ często są trudniejsze do przetestowania. Ponadto jeśli Twoja aplikacja obsługuje wiele dzierżaw (czyli dwa lub więcej różnych zestawów użytkowników), może to być o wiele trudniejsze. –
W mojej skromnej opinii wzór MVC służy do kontynuacji koncepcji Encapsulation, w tym sensie, że żadna inna klasa nie ma dostępu do swoich "członków danych" bezpośrednio i do pewnego rodzaju "funkcji członka". Dlatego domyślam się, że tworzenie metod instancji powinno być pierwszym wyborem ... :-) –