Click here to Skip to main content
15,887,683 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
I am developing big product. It consumes so many third party libraries. I don't want to directly depend on it. So kept it seperate. Now i am getting confused, Wheteher i should 
1. Create seperate project for every small component. So many small components, few of them have only 3 to 4 classes. Creating project for these, doesn't sounds good.
2. Club all third party dependencies under seperate project saying third party components. But putting irrelevant part together just because they are Third party doesn't sounds good.

Please suggest.


What I have tried:

Will it cause performance issue if i create too many small small projects.
Posted
Updated 15-Jan-17 23:05pm

1 solution

Arnol, you are dealing with one of the most difficult questions in every large project. There is no general recipe to follow. For each and every project you have to find your own way of handling these things. Here are a couple of consideration for you to ponder:

- A large number components is more difficult to manage than a small one. Less so from a developers standpoint. A good source control system and automatic build environment will help you a lot. But more from a distribution standpoint. The more components can be installed independently at the customer site the more complex version handling and compatibility issues will get.

- There are many ways to organize a component: Collection of source files, object library, dynamic link library, fully independent executable (process), ... Determine in each case what is best for the project, weighing the pros and cons.

- You will need a set of rules how to maintain compatibility between all your components. And the entire team will have to live by those rules. This is sometimes the most difficult part to design and to enforce.

- Some third party components might be available in source code, others only as object library or DLL. How do you intend to do version management in either case. Do these components have their own installers or can they be integrated into your own installation and update framework?

It takes years of experience to handle all those things efficiently and consistently. It is very difficult to give you any more specific advice without knowing more details about your project. But you might benefit from reading some good books about project management and methodology.

Good luck!
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900