Home > Ask the SOA Experts > Questions & Answers > Inheritance and frameworks in component-oriented design
Ask The SOA Expert: Questions & Answers
EMAIL THIS

Inheritance and frameworks in component-oriented design

Ryan Ireland EXPERT RESPONSE FROM: Ryan Ireland

Pose a Question
Other SOA Categories
Meet all SOA Experts
Become an Expert for this site
>
QUESTION POSED ON: 26 February 2003
I've been familiar with object-oriented design for nine years. But now, trying to learn about the concepts of component-oriented design, which claims to be an extension of the former one, I can't understand what happens with the inheritance and frameworks. Normally, I used to have a framework of my own foundation classes, which consisted of several layers of inheritance, and these classes have been always used as a basis for further inheritance when building an application. As I can see, components seem to avoid this principle. If I have to create components as stand-alone, self-sufficient entities, which are to be sold or used elsewhere, I can see two ways: including all the parent classes in each component (which would make components enormously large and difficult to maintain) or avoiding inheritance altogether (pretty odd). Both ways look to me somewhat strange. Can you suggest the right process -- is there a third way?

>

The difference between these development methodologies is basically one of scale. Procedural programming works just fine on very small projects. However, as the complexity of the project grows, the procedural paradigm begins to break down.

This is where object-oriented programming steps up to the plate. Using OOP, the developer is able to successfully manage more complex applications. However, as the complexity continues to grow, then OOP begins to suffer as well. This is easily seen when the inheritance hierarchy begins to be quite deep.

Component-oriented design focuses on delivering an application that is composed of components. These components interact via events. Component-oriented design builds on top of object-oriented design principles in that the components themselves are built using OOP.

Service-oriented programming takes this one step further. Using a service-oriented architecture allows the application developer to focus on what an application does (a service) versus what an application is or has (components and objects). Again, in SOA, you use the principles learned in OOP and COP to build your application, but the focus becomes on delivering a service. Services themselves are all about solving a business domain problem. Using an SOA approach, very complex, dynamic applications can be successfully developed, deployed, and maintained.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



SOA Governance White Papers - BPM, EDA, IT Governance
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts