Check out this excellent talk on DCI from the chief architect of NetBean. What is DCI you asking? Well, It is Data/Context/Interactions – a modernized version of MVC. It was originally described at artima article. However, I find it interesting to learn and use it in your next project.