I have a question about the best practice in this situation.
At one point, my small application allowed the client to upload a file to a server, and download a file from the server (it would also compress / decompress as well).
This was created in 1 solution which consisted of 4 projects:
- FTP
- CompressDecompress
- UI
- Tests
Now, the spec has changed and there will 2 end users, one who only wants to upload, the other who only wants to download and they should never have access to anything else (ie downloading people cannot upload and vice versa).
So, I have a few choices here. I could either
Keep it as 1 solution, and ask users to login, based upon the credentials will display a different UI
Alter my UI so it only shows tools to download, create a new solution which consists of just a UI project and reference my .dll accordingly.
Delete my UI, create 2 new solutions, each solution being created for either download or upload (and each solution probably only consisting of just 1 project, the UI) and again, referencing the .dll
Does any one have any suggestions? Would any guidelines have allowed me to have not gotten into this situation in the first place (or at least made me more aware of the potential disasters)?