14

If I don't split my app into different modules (otherwise I would argue that Prism would defo be the way to go) should I use Prism?

I know that Prism gives a convenient implementation of ICommand (which I could do myself in a page of code) and gives us the IEventAggregator but does all the Bootstrapper, Shell, ModuleCatalog stuff really help?

Why not just use the MVVM pattern (without Prism) to separate out your concerns so your app is testable and Bob's your Uncle!

Tim Lloyd
  • 37,954
  • 10
  • 100
  • 130
Bob
  • 4,236
  • 12
  • 45
  • 65

3 Answers3

13

For a small application you could definitely see it as overkill, but even for a small application you have identified some useful aspects e.g. DelegatedCommand and IEventAggregator (which BTW come with weak event handling so not totally trivial to implement correctly).

Perhaps a more light-weight framework might be more suitable. I only know Prism, so can't really comment.

One point I would make though, is that it is very common for small applications to start small, but then evolve into bigger applications. Putting the relatively small amount of effort into architecting it right in the first place is better than paying for the monumental (and sometimes impossible) task of sorting it out later.

Tim Lloyd
  • 37,954
  • 10
  • 100
  • 130
  • 1
    +1 - was writing almost the same thing. A small application that doesn't talk to a file system, a database, communicate with any external entities, or have any major sub-windows, pages, or functionality is a "prototype" at best and doesn't benefit from much of anything. Once you start putting that other stuff in, Prism becomes very useful very quickly. – Matt Jordan Feb 02 '11 at 17:18
2

For smaller apps, caliburn micro provides a simpler framework. To me prism is especially useful when you need to define regions in your application.

fabien
  • 2,041
  • 1
  • 16
  • 19
2

MVVM Light is the best bet....!

ns12345
  • 3,079
  • 5
  • 41
  • 62