Microsoft Visual Studio - Projects vs Solutions

Posted on 2014-11-07
Last Modified: 2014-11-07
I have developed software for animal shelter record keeping.   It's being installed in shelters housing various types of animals.    I'm having to hard code in a lot of things to make it more suitable for each type of animal.   A very simple example is that birds are weighed in gms, dogs and cats in lbs, horses in kgs, etc.   There are many more differences.   Handling all of this different code for each type of animal in one solution is becoming a nightmare.   I would like to have ASBF - Avian Edition, ASBF - Equine Edition, ASBF - Small Mammal Edition; etc.    If I had this arrangement probably 80% of the code would be the same across them all.   I'm hoping someone can tell me if multiple projects within one solution would accomplish this.   Should I even try to accomplish this?    How would I accomplish this?   I would like to hear from anyone that has had experience and knowledge in this area.   Thank you.
Question by:kylucky
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
LVL 42

Accepted Solution

pcelba earned 500 total points
ID: 40428208
You should not hardcode such things like units used for particular animals... Instead of this you should use some configuration file or database.

You can have everything in just one project after you implement the configuration file/database. Various packages will differ in the configuration the development will be at one place etc. etc.

The configuration file can be just one XML file or SQLite database with appropriate administrative access. Many such solutions exist:

Author Comment

ID: 40428271
thank you pcelba.   I will definitely 'bone up' on configuration files by going to the links you have given me.   It will be very interesting.   The database currently being used is MS Access.  I don't know if that would change your recommendation to me in any way.   Thank you and I'll be studying because I've got to get a better handle on this 'beast'.   I'm getting ready to install in a turtle hospital and their requirements are quite different than a dog and cat shelter as you might expect.   Things are getting out of control and maybe your suggestion can bring some order to the universe.  Or at least my universe.
LVL 42

Expert Comment

ID: 40428304
So the Access database itself could contain some predefined system part which will be used for the application branching and other various settings. Of course, the system part can be in different database or in XML or another configuration file. But if you have Access already you may use it.

You just have to patiently define the structure of your data hierarchy to avoid duplicate information (you may find more if you look for data normalization).
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 40428840
Thanks.  I'm glad I can use Access because I know that pretty well.   I don't know XML or configuration files.   I'm an old-timer and I think what you are suggesting is what we used to call 'table driven' software.    A lot of the application is that way now but I see how a lot more of it could be.   I have an animal types table.   I could put in there the unit of measure for weight for that animal and wouldn't have to hard code something like  'if 'horse' then 'kgs'.   Is this similar to what you had in mind?
LVL 42

Expert Comment

ID: 40428904
Yes, exactly. The animal types table should contain info about the weight units. Every time users select animal type the weight units should be updated on the screen.  You may also think about additional tables which will help to make the app more flexible (but more complex to you)...

E.g. Unit of measures and Unit of measure conversions can be used to make the data independent on the location where different units are in use (I think South of Arizona or the area near Mexican border uses metric system). Another example is Time Zone info etc.

The first version should be as simple as possible, so forget about Units of Measure conversion for now :-). But everything depends on your free time...

Author Comment

ID: 40428940
Excellent pcelba.    At first the app only worked for dog and cat shelters because that is where I was volunteering and had no idea it would go beyond that.   But it did.  So, I had to take out a lot of hard coding for that one particular shelter.  Now it works for any shelter and any type animal.   That was a lot of work.   I got rid of a ton of hard coding so I know how to do it.   Now I just need to do more of it.   You've helped me a lot and I'm going to go in the direction you suggest.   And that means I don't have to learn anything more to accomplish this.   Yay!  Thank you pcelba.

Author Closing Comment

ID: 40428943
I very much appreciate the guidance I received from pcelba.   I'm going to follow his/her direction.    Good stuff.

Featured Post

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article was originally published on Monitis Blog, you can check it here . If you have responsibility for software in production, I bet you’d like to know more about it. I don’t mean that you’d like an extra peek into the bowels of the sourc…
Part One of the two-part Q&A series with MalwareTech.
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor ( Top Charts is a view in which you can set seve…

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question