473,394 Members | 1,722 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

From COM to .NET

Hi all,

During the COM age, Microsoft's policy was against implementation
inheritance.
Now, it turns 180 degrees and all the .NET Framework relies heavily on
implementation inheritance.
What's changed?

Thanx,
Adrian.
Jul 21 '05 #1
4 1465
Good question.

Does the Framework ~really~ rely heavily on implementaion
inheritance? Sure everything derives from object, but I
mean in a deep or wide way. I think that you'll find the
implementaion inheritance to be pretty light-weight
compart to something like MFC.

It might be interesting (or not) to compare how often a
class (in the framework) derives from another class
and/or how many interfaces it implements.

I guess one thing that has changed is there is support
for interface inheritance in the Common Language
Runtime. If I'm not mistaken (and I may be) there was no
II support in the language (VB).

Implementation inheritance has a certain set of
challenges associated with it. Especially when changes
are made to the base classes. Now Microsoft has to be
careful when it considers changing it's base classes
because we'll all have to live with it.

Hope you get some better answers that this one.
-----Original Message-----
Hi all,

During the COM age, Microsoft's policy was against implementationinheritance.
Now, it turns 180 degrees and all the .NET Framework relies heavily onimplementation inheritance.
What's changed?

Thanx,
Adrian.
.

Jul 21 '05 #2

"Brad Quinn" <br***********@hotmail.com> wrote in message
news:22*****************************@phx.gbl...
Good question.

Does the Framework ~really~ rely heavily on implementaion
inheritance? Sure everything derives from object, but I
mean in a deep or wide way. I think that you'll find the
implementaion inheritance to be pretty light-weight
compart to something like MFC.

What exactly do you mean by saying "deep or wide way"?
I'm talking about the visibile part (the thing that .NET programmers use in
their everyday life). And it is build on the implementation inheritance
concept.

It might be interesting (or not) to compare how often a
class (in the framework) derives from another class
and/or how many interfaces it implements.

I guess one thing that has changed is there is support
for interface inheritance in the Common Language
Runtime. If I'm not mistaken (and I may be) there was no
II support in the language (VB).

Implementation inheritance has a certain set of
challenges associated with it. Especially when changes
are made to the base classes. Now Microsoft has to be
careful when it considers changing it's base classes
because we'll all have to live with it.

Hope you get some better answers that this one.
-----Original Message-----
Hi all,

During the COM age, Microsoft's policy was against

implementation
inheritance.
Now, it turns 180 degrees and all the .NET Framework

relies heavily on
implementation inheritance.
What's changed?

Thanx,
Adrian.
.

Jul 21 '05 #3
If I would to offer my guess (which i suppose I am now
doing) it would be that MS limited COM's ability to to
implementation inheritance simply because the they needed
something that would work across multiple languages.
There was no core framework that all languages derived
from, so it would have been nearly impossible to allow
implementation inheritance between, say, VB and FoxPro, or
Delphi and C++ through the COM layer.

One of the great things about everyong compiling to a
single language (msil) is that we can now enforce rules
that all languages must follow and this opens the door to
allow implementation inheritence.

Anyway, may or may not be the right answer, but ....

Kirk
-----Original Message-----
Hi all,

During the COM age, Microsoft's policy was against implementationinheritance.
Now, it turns 180 degrees and all the .NET Framework relies heavily onimplementation inheritance.
What's changed?

Thanx,
Adrian.
.

Jul 21 '05 #4

"Kirk" <mc**************@hotmail.com> wrote in message
news:00****************************@phx.gbl...
If I would to offer my guess (which i suppose I am now
doing) it would be that MS limited COM's ability to to
implementation inheritance simply because the they needed
something that would work across multiple languages.
There was no core framework that all languages derived
from, so it would have been nearly impossible to allow
implementation inheritance between, say, VB and FoxPro, or
Delphi and C++ through the COM layer.

One of the great things about everyong compiling to a
single language (msil) is that we can now enforce rules
that all languages must follow and this opens the door to
allow implementation inheritence.

So now you can use implementation inheritance relationship
between types belonging to different applications/libraries,
written in different languages, but compliant with .NET platform.

Where is the benefit by using the implementation inheritance
model (the"new" tech.), against the using of object composition,
delegation and call-backs model (the "old" tech.).

The previous reply (Brad), says:
"Implementation inheritance has a certain set of
challenges associated with it. Especially when changes
are made to the base classes. Now Microsoft has to be
careful when it considers changing it's base classes
because we'll all have to live with it."

What is the Microsoft answer for that?
Anyway, may or may not be the right answer, but ....

Kirk
-----Original Message-----
Hi all,

During the COM age, Microsoft's policy was against

implementation
inheritance.
Now, it turns 180 degrees and all the .NET Framework

relies heavily on
implementation inheritance.
What's changed?

Thanx,
Adrian.
.

Jul 21 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: |-|erc | last post by:
Hi! Small challenge for you. The index.php uses this file and calls layout(). Take a look at www.chatty.net this file draws the chat login box on the right. I traced the CHAT button it submits...
16
by: Fuzzyman | last post by:
Hello, To create a classic (old style) class, I write : class foo: pass To do the equivalent as a new style class, I write : class foo(object):
2
by: nitin | last post by:
g++ -c $INCLUDES ActualPEResult.cpp In file included from /usr/include/c++/3.2.2/backward/iostream.h:31, from /home/pradeepks/Linux_Porting/dcpfrontier/dcpdev/dcp_components/trap...
4
by: susmita_ganguly | last post by:
Hi I am trying to upgrade from oracle 8i to oracle 9i on the same server ..I don't know much abt migration . Can anyone help me out. Thanks. Susmita
2
by: cs168 | last post by:
Hi I am new in ASP programming so I do use the very basic and simple way to do all my stuff. Now I do really got stuck at how can I loop thru the calculation for all my selection.. My full code is as...
7
by: dog | last post by:
I've seen plenty of articles on this topic but none of them have been able to solve my problem. I am working with an Access 97 database on an NT4.0 machine, which has many Access reports. I...
7
by: lgbjr | last post by:
Hello All, I¡¯m using a context menu associated with some pictureboxes to provide copy/paste functionality. Copying the image to the clipboard was easy. But pasting an image from the clipboard...
1
by: RSH | last post by:
Im trying to create a stored procedure of the following code. I want to set it so that I have to send the first 4 variables (@DB, @BackUpFile,@TestDB,@RestoreFile). I am having trouble when i try...
20
by: Development - multi.art.studio | last post by:
Hello everyone, i just upgraded my old postgres-database from version 7.1 to 7.4.2. i dumped out my 7.1 database (with pg_dump from 7.1) as an sql-file with copy-commands and to one file using...
6
by: ransoma22 | last post by:
I developing an application that receive SMS from a connected GSM handphone, e.g Siemens M55, Nokia 6230,etc through the data cable. The application(VB.NET) will receive the SMS automatically,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.