I am very much confused about the words Component and Library. I know the components are tightly bound, unit of functionality and modularity, and so does the library. In both the cases, binding is done at compile time. So what features make them different?
These are just two different words. Traditionally, anything that contain a bunch of things/code you can use is called a library. A bunch of C math function put together can be called a math library. A .NET DLL that contains a bunch of classes is called a class library.
The word Component comes from RAD tools and it implies some sort of design time support. For example, a Windows Forms Menu class is a class that contains code implementing its runttime behavior (which is to display the menu in a window), but it also contains code that support certain things inside Visual Studio so that Visual Studio can design the menu at design time. It also has code that defines its "icon" in Visual Studio's toolbox, etc. All these things work together so that you can just drag it around on a "design surface" to make coding easier.
If you use .NET, there is an Object class which is the root of everything, and then there is the Component class that have a few members related to design time support. You can take a look of the class members which should give you an idea of what a Component is:
http://msdn.microsoft.com/en-us/library/system.componentmodel.component(v=vs.110).aspx
MS also has an article that explains it a bit more:
http://msdn.microsoft.com/en-us/library/vstudio/0b1dk63b.aspx
Needless to say, people often call class library that contains a lot of "Component classes" as a "component library". But there is nothing wrong to call it just class library.
Hope this helps a bit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With