[Mono-list] About Component Oriented Design
Philippe Lavoie
philippe.lavoie@cactus.ca
Thu, 5 Dec 2002 11:59:41 -0500
This is a multi-part message in MIME format.
------_=_NextPart_001_01C29C7F.B3F0DE34
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I've been looking at ways to improve our design process. One of the ways
is to use more on Component Oriented Design. I was impressed with Avalon
(a Java application framework) where they adhere to such COD principles
as "Inversion of Control" and "Separation of Concern".=20
=20
These two principles are helping me understand the COD way of
designing/thinking as opposed to my usual OO way of seeing the world.
=20
I was wondering if there are more resources regarding COD patterns or
COD principles. Beside Avalon, I couldn't find a lot on the web. In fact
I couldn't find anything at all.=20
=20
They only thing that people are saying is that COD puts emphasis on
interfaces (well... duh...) All the articles seem to be vague, for
instance one describes COD as separating behavior between data and
framework (or architecture) as opposed to OO which puts the behavior
solely on the data. That is useful, but it doesn't go deep into the
subject of Component Oriented Design. On a side note, even UML seem to
be more OO than CO.
=20
Anyway, since Gnome has been using COM for a while and C# is supposed to
be CO friendly, I was wondering if people on the list have favorite
links that would inform someone on good Component Oriented Design
practices. The two principles I mention above (Inversion of Control and
Separation of Concern") can't be the only ones out there, right?
=20
Thanks
=20
Phil
------_=_NextPart_001_01C29C7F.B3F0DE34
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 10 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:PMingLiU;
panose-1:2 2 3 0 0 0 0 0 0 0;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 2 3 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{font-family:Arial;
color:windowtext;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=3DEN-US link=3Dblue vlink=3Dpurple>
<div class=3DSection1>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I’ve been looking at ways to improve our design
process. One of the ways is to use more on Component Oriented Design. I =
was
impressed with Avalon (a Java application framework) where they adhere =
to such
COD principles as “Inversion of Control” and =
“Separation of
Concern”. </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>These two principles are helping me understand the =
COD way
of designing/thinking as opposed to my usual OO way of seeing the =
world.</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I was wondering if there are more resources regarding =
COD
patterns or COD principles. Beside Avalon, I couldn’t find a lot =
on the
web. In fact I couldn’t find anything at all. </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>They only thing that people are saying is that COD =
puts
emphasis on interfaces (well… duh…) All the articles =
seem to
be vague, for instance one describes COD as separating behavior between =
data
and framework (or architecture) as opposed to OO which puts the behavior =
solely
on the data. That is useful, but it doesn’t go deep into the =
subject of
Component Oriented Design. On a side note, even UML seem to be more OO =
than CO.</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Anyway, since Gnome has been using COM for a while =
and C# is
supposed to be CO friendly, I was wondering if people on the list have =
favorite
links that would inform someone on good Component Oriented Design =
practices.
The two principles I mention above (Inversion of Control and Separation =
of
Concern”) can’t be the only ones out there, =
right?</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Thanks</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Phil</span></font></p>
</div>
</body>
</html>
------_=_NextPart_001_01C29C7F.B3F0DE34--