I read everywhere about application frameworks for J2EE applications with inversion of control containers and clear MVC separation. I wonder why there is no such thing for client appslications? Are client applications fundamentally different, don't they need frameworks? How would I create a .NET-3.0 application with inversion of control and GUI independence? Are there ways I can create a .NET application with both a web and a client GUI?