나는 그가 "나쁜 연습"만큼 "나쁜 디자인"을 의미한다고 생각하지 않습니다. 일반적으로 웹 응용 프로그램은 가능한 한 상태가없는 상태 여야합니다. 예를 들어, 페이지보기를 승인하기 위해 사용자 정보를 알아야 할 수도 있지만, 해당 정보는 쿠키 형식으로 클라이언트 시스템에 저장 될 수 있으며 서버는 매번 사용자 정보를 검증합니다.
이상적이지만 쿠키를 저장할 수있는 클라이언트를 항상 신뢰할 수있는 것은 아닙니다. 또한 상태 비 저장 방식으로 사용자를 검증하는 작업이 포함되며, 간단한 페이지 요청을 위해 데이터베이스에서 정보를 쿼리 할 수 있습니다. 종종 그러한 정보를 세션에 저장하는 것이 더 간단합니다.
그러나 Rubicon을 넘어 서면 많은 프로그래머들이 세션에 인증 정보뿐만 아니라 다른 많은 정보도 저장하고 싶어합니다. 이것은 안티 패턴이며 웹 응용 프로그램을 상태에 크게 의존하게 만드는 경향이 있으며, 이는 처음에 피해야 할 것입니다.
일부 프로그래머는 Spring과 같은 기술 (Java를 사용하는 경우)을 사용하여 종속성의 혼란을 해결할 수는 있지만 의존성을 제거하는 대신 종속성을 만드는 것이 더 쉬울 것이라고 주장합니다. 이러한 기술은 개발에 도움이되며 안티 패턴을 문제로 만드는 것이 아닙니다.
따라서 일반적으로 상태 비 저장 (stateless)으로 작성할 수 있다면 그렇게하는 것이 더 좋을 수도 있고이 함정에 빠질 위험이 있다는 것입니다. 분명히 이것이 필요한 상황에 처하게 될 것이지만 일반적으로 말하면 다시 수집하기 어려운 정보 만 저장해야합니다.