Multi-tier applications brought several new trends to the software development process. Everyone is now shifting their thinking from good, proven, "old-fashioned" object-oriented design to new component-based design. Component-based design brought a new angle - they (components) should be written based on a particular component standard (COM, JavaBeans, Enterprise JavaBeans, Corba, etc.) and should be pluggable by a tool and/or application. Components not only encapsulate a unit of functionality (like a class in object-oriented design), but also have a discoverable structure/interface used by other components, applications, development tools or component servers.
The benefits of object-oriented design and component-based development:
 |
Reusing software saves money in the development phase of software projects, i.e., the more components you reuse and the less software you have to build. |
 |
The more applications in which you use a given component, the more valuable that component are. |
 |
Reusable components enable application developers to customize applications without high costs and long development cycles. |
 |
Reused software components have fewer bugs because they are used more often, and errors are uncovered and corrected along the way. |
|
|