每个第三方功能的单独项目 [英] Separate project for every third party functionality

查看:64
本文介绍了每个第三方功能的单独项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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.

推荐答案

Arnol,你正在处理一个每个大型项目中最困难的问题。没有一般的秘方可以遵循。对于每个项目,您必须找到自己处理这些事情的方法。以下是您需要考虑的几个方面:



- 大量组件比小型组件更难管理。从开发人员的角度来看则不那么重要良好的源代码控制系统和自动构建环境将为您提供很多帮助。但从分销的角度来看更多。可以在客户站点独立安装的组件越多,就会出现更复杂的版本处理和兼容性问题。



- 组织组件的方法有很多种:集合源文件,对象库,动态链接库,完全独立的可执行文件(进程),...在每种情况下确定什么是最适合项目的,权衡利弊。



- 如何保持所有组件之间的兼容性,您将需要一套规则。整个团队将不得不遵守这些规则。这有时是设计和执行中最困难的部分。



- 某些第三方组件可能在源代码中可用,其他组件仅作为对象库或DLL。在任何一种情况下,您打算如何进行版本管理?这些组件是否有自己的安装程序,或者它们是否可以集成到您自己的安装和更新框架中?



需要多年的经验才能有效且一致地处理所有这些事情。如果不了解有关项目的更多详细信息,很难给出更具体的建议。但是你可能会从阅读一些关于项目管理和方法的好书中受益。



祝你好运!
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!


这篇关于每个第三方功能的单独项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆