To attain the highest grade in a recent piece of coursework I'm asked to develop a specific application using c++ and multi-tier programming.
I understand the theory behind multi-tier architecture and exactly which parts of this application belong to which layer but i have no experience actually implementing "n-tier" applications.
Do the tier have to be fully separated? for example one process running a database, one process running a UI and a third managing interactions between the two?
Or is it just as simple as separating the application into layers of code so that the GUI does not directly access the database etc..
Any tips you have for multi-tier programming in C++ will be greatly appreciated :)
Usually, when you hear "n-tier" application framework (in college), they are referring to logically grouped functionality. It can be in separate processes, but is not necessarily the case. The Model-Control-View architecture or MFC's Document-View architecture are both layered. You simply want to separate code that stores/reads data from business rules of your application from how that information is displayed.
NOTE: There are some that consider "n-tier" to be a client-server setup, but as this is coursework, I doubt seriously your professor wants that as his solution).