I was wondering if anyone had any resources or advice related to using architecture patterns like MVVM/MVC/MVP/etc on small applications and tools, as opposed to large, enterprisy ones.


Most of the information I see on application architecture is directed at large, enterprise applications. I'm just writing small programs and tools. As far as using these architecture patterns, is it generally worthwhile to go through the overhead of using an MVC/MVVM framework? Or would I be better off keeping it simple?

  • 2
    "small applications and tools, as opposed to large, enterprisy" What does this mean? Patterns are patterns. How can they be "small" or "large"? Please explain more what problem you're having. – S.Lott Feb 22 '11 at 1:26
  • Perhaps he's looking for more of a list of "popular" patterns. – ProdigySim Feb 22 '11 at 3:09
  • 1
    @ProdigySim Sounds like he's asking how architecture patterns like MVC can be used in a small application. It is a pretty vague question. – Adam Lear Feb 22 '11 at 5:11
  • Yeah, thinking back, it is pretty vague. I guess, most of the information out there is targeted at huge, enterprise applications. I'm just writing small tools. I will edit to try and make it better. – s73v3r Feb 22 '11 at 20:58

I tend to still use the patterns of View-x-Model separation, but I don't use a framework to achieve that.

For example, if it's MVVM I tend to just get a RelayCommand and INotifyPropertyChanged base class and go from there. I don't worry about frameworks that help me set up the Views from the ViewModels or do convention over configuration or anything like that.

If there's more than about 2 screens I also throw in an IOC. But that's about it.

At the end of the day it's about maintainability. If the app becomes too much that you're constantly maintaining stuff that a framework would help with, that's a sign the framework is needed.


I generally have one rule. Separate the user interface from the application. However you want to do that is fine. If you achieve that then you can usually adapt your application fairly easily to whatever use it may evolve into, including merging it into a tool suite.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.