I have developed many WPF application but they were very small. Not i am going to develop a big enterprise application. I want to know right approach to develop a big application and by keeping in mind the performance of that application should not be degrade So i am going to use MVVM architecture(little bit familiar with it).

Now, My Question is, there are lots of screens in my project so what Should i do.

1. Should i use individual window for each screen.

2.Should i use individual page for each screen.

3.Should i use individual page for each screen and load those page on a Single window of application.

4.Should i use user control of each screen and load those user controls to Window or Page Dynamically one by one

according to requirement.

what is right approach ??? I am getting lots of information and examples about creation of simple application and example by using MVVM architecture which has 1 or 2 screens. But before starting development i want to know the right approach how to start developing of big projects, in which there are lots of screens for showing data, adding data, editing data and deleting data.

My second concern is how to maintain the performance of such a big application ??? Are there any standards for this ??? yes i got few links in MSDN which are telling about Garbage collector and IDisposable and many other things.

So can you suggest me what is right way ??? for over all this problem ???