Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a component

Tags:

java

.net

object

I listen to the podcast java posse, on this there is often discussion about components (note components are not (clearly) objects). They lament the fact that Java does not have components, and contrast with .NET that does. Components apparently makes developing applications (not just GUI apps) easier.

I can figure from the discussion certain qualities that a component has, its something to-do with decoupling (substituting one component for another is just a matter of plumbing). It has something to-do with properties, it definitely has something to-do with events and delegates.

So to the questions:

./ can anyone explain to me what a component is. (and why java beans are not components).

./ can anyone explain how they help development.

./ can anyone explain why java does not have them if they are so useful.

like image 602
Scott James Avatar asked Oct 12 '08 21:10

Scott James


People also ask

What is component mean?

Definition of component (Entry 1 of 2) 1 : a constituent part : ingredient an important component of the program stereo components. 2a : any one of the vector terms added to form a vector sum or resultant. b : a coordinate of a vector also : either member of an ordered pair of numbers. component.

What is a component and example?

The definition of component means one part of a whole thing. An example of a component is the CD player in a stereo system. An example of a component is an ingredient in a recipe. noun. 3.

What is a component in science?

noun. a constituent part; element; ingredient. a part of a mechanical or electrical system: hi-fi components. Physics. the projection of a vector quantity, as force or velocity, along an axis.

What is a component in computer?

1. With hardware, a component or part is one hardware unit designed to connect to and function as part of a larger system. For example, an integrated circuit can be considered a component of the motherboard, and a video card can be considered a computer component.


1 Answers

Software Engineering Radio has an episode on exactly this topic: http://se-radio.net/podcast/2008-02/episode-87-software-components

The general idea is that a software component can describe what its own dependencies and services are, in the form of metadata. I don't know why you might have heard that Java does not have components, since you can certainly imagine an architecture in Java where components do describe themselves through metadata. I suppose it's just that the Java platform definition by itself doesn't really have a component architecture.

Update: Indeed, one need not imagine such an architecture because as others pointed out, Java Beans or Servlets could certainly be considered component-based architectures.

like image 181
Greg Hewgill Avatar answered Nov 10 '22 05:11

Greg Hewgill