Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Component vs Library

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?

like image 305
Kahn Avatar asked Nov 12 '22 18:11

Kahn


1 Answers

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.

like image 120
user3015039 Avatar answered Dec 09 '22 20:12

user3015039