User Tools

Site Tools


Software Architecture

Software Component

Overview about software component


Sometimes called componentware, software designed to work as a component of a larger application. A good analogy is the way personal computers are built up from a collection of standard components: memory chips, CPUs, buses, keyboards, mice, disk drives, monitors, etc. Because all of the interfaces between components are standardized, it is possible to mix components from different manufacturers in a single system.

Similarly, the goal of component software is to standardize the interfaces between software components so that they too can work together seamlessly. Two standards – OLE and OpenDoc – are designed to help programmers develop components that can work together. Many analysts believe that component software is the natural extension of object-oriented programming and that it will become the standard programming paradigm for years to come.

Communicate between software components

components communicate with each other via interfaces. Objects which implement an interface for another object type are called adapters.
adapters can use to say “I implement this interface” . Other objects may then make requests like “Please give me an object which implements interface X for object type Y” .

Software component in OOP

Understand about Components in OOP with Interfaces and Adapters:

  • Object oriented programming languages allow programmers to reuse portions of existing code by creating new “classes” of objects which subclass another class. When a class subclasses another, it is said to inherit all of its behaviour. The subclass can then “override” and “extend” the behavior provided to it by the superclass.
  • Inheritance is very useful in many situations, but because it is so convenient to use, often becomes abused in large software systems, especially when multiple inheritance is involved. One solution is to use delegation instead of “inheritance” where appropriate. Delegation is simply the act of asking another object to perform a task for an object. To support this design pattern, which is often referred to as the components pattern because it involves many small interacting components, interfaces and adapters were created


Middleware is a piece of software lying between the operating system and the application. Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application
refer: middleware.pdf

softwarearchitecture.txt · Last modified: 2017/01/12 09:12 (external edit)