5
"Component" is a word used in various contexts and I imagine that it is difficult to define generically.
By definition it is a part that makes up a whole. For example, a subsystem.
It is also said that components are reusable. It is also said in "componentizable architectures" or "componentized".
Of Quora I removed the following definition, which helped to some extent.
A component is a self-contained system that has one or more input channels and one or more output channels. Without the inputs it has nothing to do. Without the exits he cannot serve a purpose.
Note that a function receives input through its arguments and returns a result, so it also has inputs and outputs. As soon as she receives an entry she returns an exit. The entrance and exit always walk married.
A true component may behave that way as well, but the input and output channels can also operate independently of each other - that is, the outputs do not need to walk married to the inputs.
The essential point is that a component can receive inputs from one or more channels and send outputs to one or more channels, but what happens between these operations is hidden from view. The concerns of the component are all of itself - a black box for the world. All the world requires is a contract (of what it needs and what it provides) through which some use can be made of it in a larger system of connected components.
A typical DVD player is a component. It receives input through a DVD inserted into its drawer and its remote control and returns audio and video outputs. A software component is no different; however, it should be noted that its input/output channels are typically asynchronous.
Anyway, what are components?
What examples of the software scope can we use to illustrate them?
When I know I’m developing a component?
Related: What are "units of code"? and What are modules in programming?
– rray
Related: Is there a Difference between a Component and a module?
– Piovezan
It seems to me that components and modules are concepts easy to confuse.
– Piovezan