2.3. Objects and Components
Writing in Byte, John Udell once announced that 'Objects are dead!' and said that they would soon be replaced by components. He wrote this in May 1994, whereas objects didn't really hit the mainstream of information technology until around 1996. In fact, most CBD offerings that were popular in 1994, such as OpenDoc, OpenStep and Hyperdesk, didn't survive for very long after that. Probably the only significant survivor was the humble VBX. There are, even now, several understandings of what the term 'component' means. Some commentators just use it to mean any module. Others mean a deliverable object or framework: a unit of deployment. Still others mean a binary that can create instances (of multiple classes). Serious writers on object-orientation tended to mean a set of interfaces with offers and requires constraints. The requires constraints are often called outbound interfaces. Daniels (2000) questioned this and showed that while these aspects of a component must be defined, they do not form part of the component's contract. Szyperski (1998) defined a component as 'a binary unit of independent production, acquisition and deployment' and later as 'a unit of composition with contractually specified interfaces and explicit context dependencies only'. We prefer 'a unit of executable deployment that plays a part in a composition'.
In many ways, VB was the paradigm for component-based development, though now largely overtaken by C# or Java for much development ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access