"Kötü tasarım" anlamına gelmediğini sanmıyorum. Genel olarak konuşursak, bir web uygulaması mümkün olduğu kadar vatansız olmalıdır. Örneğin, sayfa görüntülemeye izin vermek için kullanıcı bilgilerini bilmeniz gerekse de, bu bilgiler istemci makineye bir çerez biçiminde kaydedilebilir ve sunucu kullanıcı bilgilerini her seferinde doğrular.
Bu ideal olurdu, ancak her zaman istemcinin çerezleri kaydedebileceğine güvenemezsiniz. Ayrıca, kullanıcının durum bilgisi olmayan bir şekilde doğrulanmasını içerir; bu, basit bir sayfa isteği için veritabanından bilgilerin sorgulanmasını içerebilir. Çoğu zaman bu tür bilgileri oturumda kaydetmek daha kolaydır.
Ancak, Rubicon'u geçtikten sonra, birçok programcı sadece oturumdaki kimlik doğrulama bilgilerini değil, diğer birçok şeyi de kaydetme eğilimindedir. Bu bir anti-desen ve web uygulamanızı ilk etapta kaçınılması gereken tam olarak duruma bağlı hale getirme eğilimindedir.
Bazı programcılar, başka türlü bağımlılıkların karışıklığını gidermek için Spring (Java kullanıyorsanız) gibi teknolojiye bağlıydı, ancak bunun sadece onları ortadan kaldırmak yerine bağımlılıklar oluşturmayı kolaylaştırdığını iddia ediyorum. Bu teknolojiler, anti-deseninizi daha az problem haline getirmemeli, gelişiminize yardımcı olmalıdır.
Bu nedenle, iyi bir kural, vatansız yazabiliyorsanız, muhtemelen bunu yapmak için daha iyi bir fikirdir veya bu tuzağa düşme riskiniz vardır. Açıkçası, bunun gerekli olduğu durumlarla karşılaşacaksınız, ancak genel olarak konuşursak, yalnızca aksi takdirde yeniden elde edilmesi zor olacak bilgileri kaydetmelisiniz.