Newby question...

Topics: Prism v1
Feb 4, 2009 at 10:30 AM

I'm completely new to all this so I find myself asking if I'm barking up the wrong tree or not.
My questions are mostly theoretical right now but I'll try and give you a real world example to see if I'm on the right page with this stuff.

Imagine you were going to create a word processor to rival Word.
My suggestion would be to create a shell with 2 regions (for now) the document region and a toolbar region.
You could then create module (called editor) with a view which was basically a rich textbox which got loaded into the document region.
Would you then also have modules which contained services like:
  • Spell Checking
  • Grammar Checking
  • Auto-text
I realise that the rich textbox comes with a spell checker, but imagine you wanted to use a different (more specialised) spell checker, or even write your own.
I think the approach described above is correct as it allows you to develop the spell checker module or auto-text module in a way that is loosely coupled from the editor module.
If you wanted to change the way the spell checker worked you could - as long as you didn't break the contract with the editor module (presumably there is an interface in the mix somewhere).

Am I on the right track with this? Is this what CAL is for? or am I in danger of over-engineering the solution.
Some of the quickstarts seem to me to be more useful if you're creating a dashboard view of different legacy systems, like trying to create a thick client mashup.
What I'm looking to do is write a brand new application from scratch in a way that is designed for change, easy to maintain, etc. etc.

Thanks in advance for any help or advice.