This project has moved and is read-only. For the latest updates, please go here.

need guidance for overall structure of modular app.

Jul 31, 2011 at 3:14 PM


i am developing a module based SL aap after much thinking and research i have finally decided to go for Jounce.

i need to structure my mudule based application i have few questions and need guidance from you people.

i understand that for each module like for example inventory or payroll i will add its respective class library project i will add view and view models in it

i need to know what exact overall steps do i need to enable modular application functional in Jounce.

we need to distribute application in the form of modules one customer might require some modules and other could need all modules. so i need to handle this case efficiently.

do  i just need to dynamically add XAP file to  client for calling any module  using add XAP method OR does Jounce maintains any module catalog like prism? which load modules from that catalog i need to know how can i implement module based infrastructure in jounce.

for modular application do we only need to export viewmodels,views of a any module and them import them  ?

also  for running any code when  module   loaded  we can implement Bootstrapping Modules but how to use IModuleInitializer do i just need to add class implementing IModuleInitializer in respective  module library project  am i right?

please guide me based on your experience i would love to hear from Jeremy Likeness  if he can guide me gracefully.










Aug 1, 2011 at 1:14 PM

The separation of modules by project sounds good. Keep in mind too that depending on how large the final application is, it may make sense just to have folders so you segregate modules by namespace and simply refactor to new projects if and when needed.

If you read the blog series in the documentation you will see the step-by-step example of how to create a new module and integrate it. Jounce does not provide a module catalog "out of the box" but it is easy enough to implement and we've done that in several projects. Just provide XML or better yet a class that you can load in Xaml and parse that to do the routings/mappings you need.

You export whatever you want used from the satellite modules. To use module initializer, simply implement and export it and it will automatically be called when the module is loaded.

Best of success,