First of all, I have to say that I'm going to talk about System.ComponentModel.Component
.
You know, I understand, that the .NET Component Model
provides ability (through Site Services) to define separate Components
, so they can communicate with each other in a loosely coupled way, and that each Component
is easily replaceable.
But my point is, that I can achieve this otherwise:
I mean if I design the SW in the right Object Oriented Programming
manner, I can by means of Abstract classes
, Interfaces
etc. achieve all mentioned functionality / interoperability.
Then WHY and WHEN should I rely on the Component Model?