私は彼が「悪い設計」を「悪い練習」ほど意味したとは思わない。一般的に、Webアプリケーションは可能な限りステートレスでなければなりません。たとえば、ページの閲覧を許可するためにユーザー情報を知る必要がある場合でも、その情報はCookieの形式でクライアントマシンに保存でき、サーバーは毎回ユーザー情報を検証するだけです。
これは理想的ですが、クライアントが常にCookieを保存できるとは限りません。さらに、ステートレスな方法でユーザーを検証します。これには、単純なページ要求のためにデータベースから情報を照会することが含まれます。多くの場合、セッションにそのような情報を保存する方が簡単です。
ただし、Rubiconを通過すると、多くのプログラマーがセッション内の認証情報だけでなく、他の多くの情報も保存しようとします。これはアンチパターンであり、Webアプリケーションを状態に大きく依存させる傾向があります。これは、そもそも避けられるべきものでした。
一部のプログラマーは、Springなどのテクノロジーに依存して(Javaを使用している場合)、そうでなければ依存関係の混乱を解消しますが、依存関係を排除するのではなく、依存関係を作成する方が簡単になると主張します。このようなテクノロジーは、アンチパターンの問題を減らすのではなく、開発を支援するものでなければなりません。
したがって、良い経験則として、ステートレスで記述できる場合は、そうすることをお勧めします。そうしないと、このトラップに陥る危険があります。当然、これが必要な状況に陥りますが、一般的に言えば、再取得が困難な情報のみを保存する必要があります。