프로그래밍 할 때 우리 모두는 우리가 사용하고 의존하는 관행과 패턴을 개발합니다. 그러나 시간이 지남에 따라 우리의 이해, 성숙도, 심지어 기술 사용이 변경됨에 따라 우리가 한때 훌륭하다고 생각했던 일부 관행이 그렇지 않거나 더 이상 적용되지 않는다는 것을 깨닫게됩니다.
한때 자주 사용했지만 최근 몇 년 동안 변경된 사례는 Singleton 객체 패턴을 사용하는 것입니다 .
내 자신의 경험과 동료들과의 긴 토론을 통해 싱글 톤이 항상 바람직한 것은 아니라는 것을 깨달았습니다. 싱글 톤은 테스트를 더 어렵게 만들 수 있고 (모킹과 같은 기술을 억제함으로써) 시스템 부분 사이에 바람직하지 않은 결합을 만들 수 있습니다. 대신, 이제는 신경 쓰지 않거나 알 필요가없는 시스템 부분에서 싱글 톤의 특성과 존재를 숨기는 객체 팩토리 (일반적으로 IoC 컨테이너 사용)를 사용합니다. 대신, 이러한 개체에 대한 액세스 권한을 얻기 위해 공장 (또는 서비스 로케이터)에 의존합니다.
자기 계발 정신으로 커뮤니티에 대한 나의 질문은 다음과 같습니다.
- 최근에 어떤 프로그래밍 패턴이나 관행을 재고하고 이제 피하려고하십니까?
- 무엇으로 교체하기로 결정 했습니까?