단일 사용자 데스크톱 응용 프로그램은 메모리 내 데이터가 최신이라는 점에서 고유합니다. 따라서 간헐적 인 데이터베이스 조작에 대한 새로운 컨텍스트를 작성한 후 오브젝트를 다시 첨부하는 것보다는 나중에 발생하는 다중 사용자 요구 사항을 제외하고 전체 애플리케이션 세션에 대해 하나의 컨텍스트를 사용하여 위험을 감당할 수 있습니까?단일 사용자 데스크톱 응용 프로그램에서 컨텍스트 싱글 톤이 괜찮습니까?
답변
컨텍스트는 '트랜잭션'기반 (즉, 커밋)입니다. 그러므로 나는 그것을 싱글 톤으로 만들지 않을 것이다.
나는이 글을 추천 : Singleton datacontext를가한다고 여기서
의 DataContext는 가볍고
및
당신은 아마 몇 가지를 저장를 만드는 비용이 밀리 세컨드의 10 초. 마이크로 최적화라는 단어가 떠오르므로 엔티티 프레임 워크를 사용해서는 안됩니다.
단일 DataContext
가 AFAIK, 변경 로그가 너무 큰 성장하여, 메인 메모리를 소모 나 많은 변화 충돌의 경우 한 사용자를 잃어버린 유일한 위험. 트랜잭션 동작을 구성 할 수 있는지 확실하지 않습니다.
하지만 멀티 스레드 응용 프로그램의 공유 데이터와 마찬가지로 스레드 동기화를 관리해야하므로 데이터 작업 당 DataContext
을 사용하는 것이 좋습니다. 앱에서 사용자를 편집하려면 Form
을 열어 자신의 DataContext
을 열고 저장하거나 닫을 때 커밋해야합니다.
구성 가능한 경우 첫 번째 사항은 문제가되지 않는다고 생각합니다. 내가 찾아 낼 것이다. 예, 스레드 동기화 문제는 다중 스레드의 경우 발생할 수 있습니다. 나는 OK와 Cancel 버튼으로 간단한 폼 UI를 생각하지 않고있다. – HappyNomad
실제로 '폼'자체가 아니라 미리 정의 된 워크 플로에 따라 사용자가 수행 할 작업 인 '액션'에 관한 것입니다. –
예, 알겠습니다. 하지만 상황에 객체를 다시 첨부하는 작업이 상당히 복잡 해지는 앱을 생각하고 있습니다. – HappyNomad
- 1. 싱글 톤이 아니면, 무엇?
- 2. 싱글 톤이 아닌 단일 인스턴스가 필요합니다.
- 3. 아직 싱글 톤이 아닙니다.
- 4. 내 안드로이드 싱글 톤이 파괴되다
- 5. 프로젝트의 싱글 톤이 너무 많습니다.
- 6. 내 ControllerActionInvoker가 싱글 톤이 될 수 있습니까?
- 7. 싱글 인스턴스 폼이지만 싱글 톤이 아닌
- 8. 싱글 톤이 올바르게 초기화되지 않습니다.
- 9. symfony2 서비스가 싱글 톤이 아닙니다
- 10. 데스크톱 응용 프로그램에서 사용자 암호 보호
- 11. iBatis 싱글 톤이 두 번 호출되었습니다.
- 12. PHP OOP 싱글 톤이 객체를 반환하지 않습니다.
- 13. 스프링 싱글 톤이 두 번 호출 됨
- 14. 단일 데스크톱 응용 프로그램에서 여러 SQL CE를 사용할 수 있습니까?
- 15. 싱글 톤 네트워크 이벤트 프로세서는 괜찮습니까?
- 16. PHP 객체 싱글 톤이 작동하지 않습니다.
- 17. 왜 싱글 톤이 ActionScript 문화에 퍼져 있습니까?
- 18. 데스크톱 응용 프로그램에서 SMS 보내기
- 19. 단일 사용자 단일 로그인
- 20. 단일 웹 응용 프로그램을 가리키는 다중 컨텍스트
- 21. Java 데스크톱 응용 프로그램에서 응용 프로그램 속성로드
- 22. 웹 응용 프로그램에서 데스크톱 응용 프로그램으로
- 23. Grails의 사용자 정의 응용 프로그램 컨텍스트 홀더
- 24. 단일 사용자 용 데스크톱 응용 프로그램을 만들려면 어떻게해야합니까?
- 25. 데스크톱 응용 프로그램에서 타일/보조 타일 만들기
- 26. 데스크톱 응용 프로그램에서 전자 메일 계정으로 로그인
- 27. 데스크톱 응용 프로그램에서 사용자 권한을 처리하는 최선의 방법
- 28. 데스크톱 응용 프로그램에서 안드로이드 전화로 사용자 정의 의도 보내기
- 29. 기존 데스크톱 사용자 가능 .NET 응용 프로그램에서 채팅 삽입?
- 30. 샌드 박스 응용 프로그램에서 데스크톱 액세스
나는 트랜잭션 동작을 구성 할 수 있다고 생각합니다. 당신이 진술 한 다른 사실들이 사실이지만, 그들은 제 질문에 대답하지 않습니다. 즉, 응용 프로그램마다 하나의 컨텍스트를 사용하여 개체를 다시 연결하는 복잡성을 피하고 싶습니다. 나는 이것이 가지고 있을지도 모르는 위험을 묻고있다. – HappyNomad
포인트가 찍혔습니다. 이 경우 엔트티 프레임 워크에서 충분히 깊이 생각하지 못했습니다. – Aphelion