2013-07-05 5 views
1

때때로이 문제에 직면하고 있으며 최종 결정을 내릴 수 없습니다.정적 함수 대 객체 생성 또는 업데이트시 멤버 함수 사용

예를 들어 사용자 클래스가 있습니다. 데이터베이스에서이 개체를 만드는 "권장"방법이 있습니까? 예를 들어; 한 방법과 이유를 선호하는 것

User user = new User(); 
user.name = "John"; 
user.lastname = "Doe"; 
User.CreateNewUser(user); 

User user = new User(); 
user.name = "John"; 
user.lastname = "Doe"; 
user.CreateNewUser(); 

? 아니면 프로젝트가 따르는 디자인 패턴에 달려 있습니까?

답변

1

규칙 : 비 정적 메서드는 개체 상태에 따라 작동하거나 수정해야합니다. 그렇지 않은 경우 정적이어야합니다.

귀하의 두 가지 사례 중에서 어느 것을 선호합니까? 답은 둘 다 아니다.

사용자 엔티티를 생성하고 저장하는 것은 사용자 엔티티의 조작이 아니며, 이는 지속성의 일부입니다. 하나는 어떤 방식 으로든으로 PersistenceManager를 수정하지 않는 그래서 아마 것이다 것은

User user = new User(); 
user.name = "John"; 
user.lastname = "Doe"; 
PersistenceManager.CreateNewUser(user); 

참고 PersistenceManager에의 정적 방법 같은 것입니다.