views:

604

answers:

4

I'm a homegrown programmer and have been coding most of my recent applications in C#. These applications are usually small tools that help me with my day to day tasks. I do tend to use good design patterns, but since my projects are usually on a very small scale, I just dump everything into one Visual Studio project (GUI, domain code, etc).

I've been wanting to develop a larger financial oriented application (equity/futures options analysis/modeling), but am not quite sure how to approach the actual architecture/organization. I've peeked into the code of a few open source finance apps and they're usually laid out into many sub-projects. ie: FinApp.Core, FinApp.GUI, FinApp.API, FinApp.DataStorage, FinApp.WebService, etc.

Where can I go to learn about how to best structure large applications?

+4  A: 

I recommend having a look at Sharp architecture.

trendl
+1  A: 

Have a look at the Patterns & Practices webpage. It is a great resource on common patterns and best practices to build systems and applications using the Microsoft platform. Probably, more specifically you should have a look at the Smart Client Guidance page as well.

lewap
+1  A: 

Also look on Wikipedia for a general overview of Multitier Architecture.

JTA
+3  A: 

If you have time, spend time watch Rob Conery's MVC storefront series. I am sure that you will get a lot out of it.

He covers TDD, MVC, Mock framework, DI ..., and keeps refactoring his code during development to show what the best practice you can utilize to improve your code.

J.W.