2012-12-03 4 views
1

그래서 저는 Play Framework를 살펴보기 시작했습니다. 예제 (http://www.playframework.org/documentation/2.0.4/JavaTodoList)에서 모든 것을 볼 수 있습니다. 공전. 나는 그 사람들 중 한 명이지만 통계는 정확히 좋은 것이 아니며 정적이 필요하다면 아마도 싱글 톤을 사용해야 할 것입니다. 재생 프레임 워크에 더 익숙한 사람이라면 이러한 모든 정적 호출과 싱글 톤 패턴에 더 가까운 무언가에 대한 생각 프로세스가 무엇인지 말할 수 있습니까? 초기 정적 메서드 호출 후에 원하는 패턴을 구현할 수 있다는 것을 이해합니다.하지만 정적 패턴의 사용을 제한하기 위해 여기에서 다른 작업을 수행 할 수 있었던 것으로 보입니다. 다시 오늘 저는 처음으로 플레이 프레임 워크를보고 있으므로 뭔가 빠져있을 수 있으므로 저를 계몽 할 수 있습니다. 감사.어디서나 Play Framework 정적 메서드

+0

중복 질문 및 답변 Guillaume Bort http://stackoverflow.com/questions/5192904/play-framework-uses-a-lot-of-statics – Schleichardt

답변

3

Play의 접근 방식은 비 상태 유지 형이지만 비 정적 방식은 상태를 클래스에 도입합니다.

싱글 톤 패턴은 실제로 거기에서도 작동하지 않습니다. 싱글 톤을 사용하면 정확히 하나의 글로벌 클래스 인스턴스를 가질 수 있습니다. 이것은 당신의 정의에 따라 4 개 가지 결과를 가질 수있다 (어쩌면 더 많은,하지만 난 어떤 생각할 수 없다) :

  • 당신의 싱글 인스턴스 상태글로벌에게 경우는 응용 프로그램 전체, 여러 의미 같은 페이지의 방문자 ("X 지금. 그 이상한 내가 사용자입니다, 오, 봐.") 같은 상태를 공유
  • 당신의 싱글 인스턴스가 HTTP 요청 당 글로벌 상태의미 인 경우, 다음 요 그냥 새로운 "싱글 톤"을 만들고 그것을 재사용하지 말고 싱글 톤 패턴을 쓸모 없게 만든다.
  • 싱글 톤 인스턴스가 상태 비 저장 인 경우 인스턴스를 생성하고 정확히 하나를 관리하는 데 왜 귀찮을까요?

네번째 포인트 글로벌 사용자 당 수단 싱글 상태 일 것이다. 실제로 사용자 세션을 관리 할 수있는 깔끔한 방법을 제공합니다. 그러나 그것은 Play가하는 방식이 아닙니다.

+0

무국적 싱글 톤 진술에 동의하지 않습니다. . 나는 무국적 접근 방식을 이용하는 것에 완전히 동의하지만, 개발자는 전역 적 범위에 상관없이 객체가 전역을 유지하지 않아야한다고 주장한다. 분명히 이것은 어렵고 빠른 규칙이 아니며 가이드 라인과 같습니다. – peekay