2014-12-10 3 views
0

MVC 5 인터넷 응용 프로그램을 코딩 중이며 각 클래스에서 똑같은 메서드를 사용해야하는지 또는이 메서드 대신 정적 클래스를 사용해야하는지에 대한 질문이 있습니다.정적 클래스 또는 다중 객체 참조

public Account GetAccount(string userName) 
{ 
    if (Session[userName] == null) 
    { 
     var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); 
     ApplicationUser user = userManager.FindByNameAsync(userName).Result; 
     Session[userName] = user.account; 
    } 
    return Session[userName] as Account; 
} 

는 현재, 나는 많은 컨트롤러 및 서비스 클래스에이 방법을 추가하고 다음은

는 방법이다. 여러 클래스에서이 작업을 수행하는 대신 정적 클래스에서이 메서드를 한 번만 선언하고 Account 개체를 가져올 때마다이 정적 클래스를 사용해야합니까?

내가 알고 있어야하는 단점/장점이 있습니까?

미리 감사드립니다.

+0

코드를 복제하지 마십시오 Raviranjan. 한 곳에서 보관하고 다른 모든 곳에서 그 장소에 액세스하도록하십시오. 정적 일 필요는 없지만 그렇게 할 수는 있습니다. –

답변

0

여러 가지 옵션이 있습니다. 옵션 1 : 하나의 별도 클래스를 만들고이 클래스를 정적으로 사용할 필요가없는 클래스에 넣을 수 있습니다. 옵션 2 : 계정 클래스의 확장 메서드를 만들 수 있습니다. 옵션 3 : 컨트롤러에 대해 공용 클래스 BaseController : 컨트롤러 및 상속 과 같은 하나의 기본 클래스를 만듭니다. 모든 컨트롤러에 대해 BaseColtroller 및 서비스에 대해 동일합니다.

감사