[Mono-list] About Component Oriented Design

Carlos Vinueza M. carlos@vimeworks.com
Fri, 06 Dec 2002 10:21:59 -0500


--------------020102090000010305050803
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Just yesterday a friend sent me this link, it's really good:
http://www.softwarereality.com/programming/component_oriented.jsp

Carlos,

Philippe Lavoie wrote:

> 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".
>
>  
>
> These two principles are helping me understand the COD way of 
> designing/thinking as opposed to my usual OO way of seeing the world.
>
>  
>
> 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.
>
>  
>
> 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.
>
>  
>
> 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?
>
>  
>
> Thanks
>
>  
>
> Phil
>

--------------020102090000010305050803
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
</head>
<body>
Just yesterday a friend sent me this link, it's really good:<br>
<a class="moz-txt-link-freetext" href="http://www.softwarereality.com/programming/component_oriented.jsp">http://www.softwarereality.com/programming/component_oriented.jsp</a><br>
<br>
Carlos,<br>
<br>
Philippe Lavoie wrote:<br>
<blockquote type="cite"
 cite="mid5F668484EA248D41A93034997332B6D67B7E64@exchange3.cactus.ca">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="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>
  <div class="Section1">
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">I&#8217;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 &#8220;Inversion of Control&#8221; and &#8220;Separation
of Concern&#8221;. </span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; 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="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">I was wondering if there are
more resources regarding COD patterns or COD principles. Beside Avalon, I
couldn&#8217;t find a lot on the web. In fact I couldn&#8217;t find anything at all.
  </span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">They only thing that people
are saying is that COD puts emphasis on interfaces (well&#8230; duh&#8230;) &nbsp;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&#8217;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="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; 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&#8221;) can&#8217;t be the only ones out there,
right?</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">Thanks</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>
  <p class="MsoNormal"><font size="2" face="Arial"><span
 style="font-size: 10pt; font-family: Arial;">Phil</span></font></p>
  </div>
</blockquote>
<pre class="moz-signature" cols="$mailwrapcol">
</pre>
</body>
</html>

--------------020102090000010305050803--