여기에 나와있는 세 가지 요구 사항을 만족하는 것으로 보입니다. On Design Patterns: When to use the Singleton?데이터 접근 자 객체 singleton 또는 다른 패턴? (목표 C)
한 번만 존재해야합니다. 소스베이스 전체에서 액세스해야합니다. 동시 액세스, 즉 쓰기에 대한 잠금을 처리하지만 동시 읽기는 처리 할 수 있습니다.
안녕 모두,
내가 의심의 여지 지능 교육과 현명한 싱글 톤은 '악'것을 조언 보석과 싱글을 많이 읽어 봤는데 안티 패턴이나 그냥 일반 나쁜 소식이다.
로깅이 의미가 있지만 다른 것은별로 중요하지 않다는 주장을합니다.
본질적으로 영구 데이터 저장소 컨텍스트의 경우가 싱글 톤 즉, 디스크에서 메모리로 읽기/쓰기 및 개체 그래프를 참조하는 경우에 적합한 지 여부 만 알면됩니다.
그렇지 않은 경우 사람들이 일반적으로이 문제에 어떻게 대처할 수 있습니까? 현재 문제는 없습니다. 단 한 번만 생성되었으므로 빠르며 접근 논리가 한 곳에 있습니다. 의미있는 것은 데이터 모델과 관련된 모든 것을 수행하는 코드 한 줄을 필요로한다는 것을 의미합니다.
이것은 테스트에 좋지 않다는 유일한 논점을 남겨 둡니다. 이는 데이터에 대한 하드 코딩 된 생산 구현이지만, 카테고리 또는 테스트 코드를 통해 메소드를 작성하여 테스트 버전을 만들 수는 없습니다. 싱글 톤?
그리고 DI 테스터의 마지막 논쟁은 단순히 인터페이스가 아닌 무언가에 대한 인터페이스가 아니라 하드 코딩 된 구현이라는 것입니다. 그렇지만 DI 프레임 워크를 사용하는 주요한 드라이브가 실제로 없습니다. 구현을 위해 프로토콜을 사용할 수 있으며 테스트에서 객체 상태를 설정하기 위해 별도의 init 메소드를 사용할 수 있습니다. 싱글 톤, 또는 현실적으로 한 종류의 ... 생산을위한 두 종류의 상태가 될 것입니다.
내 의견으로는 훨씬 읽기 쉽고 빠르게 개발할 수 있습니다.
내 의견 변경