<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Code Reuse with Interface Design and Composition</title>
	<atom:link href="http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/feed/" rel="self" type="application/rss+xml" />
	<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/</link>
	<description>LabVIEW and visual programming blog</description>
	<lastBuildDate>Wed, 14 Dec 2011 00:11:04 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Code Reusability &#124; Bryan Soliman Blog</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-7050</link>
		<dc:creator>Code Reusability &#124; Bryan Soliman Blog</dc:creator>
		<pubDate>Tue, 29 Mar 2011 01:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-7050</guid>
		<description>[...] T. (2007) Code Reuse with Interface Design and Composition [Online]. Available from: http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/ (Accessed: 26 March [...]</description>
		<content:encoded><![CDATA[<p>[...] T. (2007) Code Reuse with Interface Design and Composition [Online]. Available from: <a href="http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/" rel="nofollow">http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/</a> (Accessed: 26 March [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Maila</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-94</link>
		<dc:creator>Tomi Maila</dc:creator>
		<pubDate>Mon, 07 May 2007 20:46:19 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-94</guid>
		<description>&lt;p&gt;Hi Stef. I think your idea was to have a GetTyre method in Car class. Then you could call a Tyre method outside the Car and as a by-reference object the Tyre of Car object would be modified or repressured&quot;.&lt;/p&gt;&lt;p&gt;I&#039;m afraid this is not possible in LabVIEW Object Oriented Programming unless you create the by-reference system by yourself or get by-reference class template somewhere. I&#039;m going to write more about by-reference classes and by-reference class templates later.&lt;/p&gt;&lt;p&gt;Another possibility is to use Command desing pattern. I&#039;m going to write about this pattern later on as well in LabVIEW context. You can easily find general information on command design pattern from the Internet. &lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Hi Stef. I think your idea was to have a GetTyre method in Car class. Then you could call a Tyre method outside the Car and as a by-reference object the Tyre of Car object would be modified or repressured&quot;.</p>
<p>I&#39;m afraid this is not possible in LabVIEW Object Oriented Programming unless you create the by-reference system by yourself or get by-reference class template somewhere. I&#39;m going to write more about by-reference classes and by-reference class templates later.</p>
<p>Another possibility is to use Command desing pattern. I&#39;m going to write about this pattern later on as well in LabVIEW context. You can easily find general information on command design pattern from the Internet. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stef</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-32</link>
		<dc:creator>Stef</dc:creator>
		<pubDate>Fri, 27 Apr 2007 17:33:15 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-32</guid>
		<description>Hi Tomi! I&#039;m just experimenting some with LVOOP and there is one Thing that disturbs me: Consider a Car.lvlclass with an Array of Tyres.lvlclass. Now assume you would like to monitor the Pressure of your Tyres. So you will provide a Method in the Tyre to change the Pressure. But how to make&#160;SHURE your Car will know about it? The Tyre is - as usual -&#160;by Value,&#160;thus you have to&#160;make shure&#160;the changed Tyre will get back into&#160;the array of Tyre.lvlclass of the Car.lvlclass.&#160;The only secure Patern I see by now is: You wuould have to&#160;implement a Method in the Car for every Method of the Tyre. Or is there a better pattern?</description>
		<content:encoded><![CDATA[<p>Hi Tomi! I&#39;m just experimenting some with LVOOP and there is one Thing that disturbs me: Consider a Car.lvlclass with an Array of Tyres.lvlclass. Now assume you would like to monitor the Pressure of your Tyres. So you will provide a Method in the Tyre to change the Pressure. But how to make&nbsp;SHURE your Car will know about it? The Tyre is &#8211; as usual -&nbsp;by Value,&nbsp;thus you have to&nbsp;make shure&nbsp;the changed Tyre will get back into&nbsp;the array of Tyre.lvlclass of the Car.lvlclass.&nbsp;The only secure Patern I see by now is: You wuould have to&nbsp;implement a Method in the Car for every Method of the Tyre. Or is there a better pattern?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Maila</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-26</link>
		<dc:creator>Tomi Maila</dc:creator>
		<pubDate>Tue, 17 Apr 2007 20:15:45 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-26</guid>
		<description>Ohiofudu, I&#039;m sorry I don&#039;t have example code at the moment I could provide you. Currently I&#039;ve simply made fast prototype VIs for the articles and these are really not functional in any sense. But you&#039;re right it&#039;s an important way of learning and I consider providing example code.</description>
		<content:encoded><![CDATA[<p>Ohiofudu, I&#39;m sorry I don&#39;t have example code at the moment I could provide you. Currently I&#39;ve simply made fast prototype VIs for the articles and these are really not functional in any sense. But you&#39;re right it&#39;s an important way of learning and I consider providing example code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ohiofudu</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-25</link>
		<dc:creator>ohiofudu</dc:creator>
		<pubDate>Tue, 17 Apr 2007 20:10:23 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-25</guid>
		<description>Hi Tomi,Thanks for your nice explanation on reusing code by inheritance.Is there any way I can lay my hand on the Vis so that I can practice with them for a better understanding?.Cheers,Ohiofudu&#160;</description>
		<content:encoded><![CDATA[<p>Hi Tomi,Thanks for your nice explanation on reusing code by inheritance.Is there any way I can lay my hand on the Vis so that I can practice with them for a better understanding?.Cheers,Ohiofudu&nbsp;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi Maila</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-19</link>
		<dc:creator>Tomi Maila</dc:creator>
		<pubDate>Sat, 31 Mar 2007 08:06:49 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-19</guid>
		<description>&lt;p&gt;Hi Beaton. LabVIEW Object Oriented Programming is a farily new feature and I&#039;m afraid that there is no good material available. Indeed that is one of the reasons why I started this blog. I want to provide introductory information on LabVIEW Object Oriented Programming. There are many good books on object-oriented programming in general and in context of other programming languages. Consider for example reading Thinking in JAVA by Bruce Eckel. &lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Hi Beaton. LabVIEW Object Oriented Programming is a farily new feature and I&#39;m afraid that there is no good material available. Indeed that is one of the reasons why I started this blog. I want to provide introductory information on LabVIEW Object Oriented Programming. There are many good books on object-oriented programming in general and in context of other programming languages. Consider for example reading Thinking in JAVA by Bruce Eckel. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beaton</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-18</link>
		<dc:creator>Beaton</dc:creator>
		<pubDate>Fri, 30 Mar 2007 16:30:48 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-18</guid>
		<description>Hey TomiI am a mostly self taught at programming, with just basic introduction level training in C++ and labview, and am very interested in object oriented programming. I was wondering where one would find some tutorials and examples for objected oriented programming for labview.ThanksBeaton</description>
		<content:encoded><![CDATA[<p>Hey TomiI am a mostly self taught at programming, with just basic introduction level training in C++ and labview, and am very interested in object oriented programming. I was wondering where one would find some tutorials and examples for objected oriented programming for labview.ThanksBeaton</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Kring</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-17</link>
		<dc:creator>Jim Kring</dc:creator>
		<pubDate>Tue, 27 Mar 2007 00:38:15 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-17</guid>
		<description>Great article, Tomi!&#160; I really love the concept of &quot;reuse&quot; with respect to OOP.&#160; The way that I like to think about reuse in OOP, is that it enables &lt;em&gt;reuse from the top-down&lt;/em&gt; rather than the traditional &lt;em&gt;reuse from the bottom-up&lt;/em&gt;.&#160; Traditional reuse, as you mentioned in your article, is reusing subVIs and sub-routines across several higher-level components.&#160; OOP allows reuse to be inverted (reusing top-level components as opposed to lower-level components).&#160; Now, you can create reusable high-level components that operate on any lower-level (or sometimes collaborator-level) components that implement a known interface.&#160; For example, one can create a reusable stage control pad user interface that can operate on any type of stage that implements the pre-defined &quot;stage&quot; interface. Or, from your Car+Engine example, you can reuse a Car by putting in a new type of Engine.&#160; Very cool :-)</description>
		<content:encoded><![CDATA[<p>Great article, Tomi!&nbsp; I really love the concept of &quot;reuse&quot; with respect to OOP.&nbsp; The way that I like to think about reuse in OOP, is that it enables <em>reuse from the top-down</em> rather than the traditional <em>reuse from the bottom-up</em>.&nbsp; Traditional reuse, as you mentioned in your article, is reusing subVIs and sub-routines across several higher-level components.&nbsp; OOP allows reuse to be inverted (reusing top-level components as opposed to lower-level components).&nbsp; Now, you can create reusable high-level components that operate on any lower-level (or sometimes collaborator-level) components that implement a known interface.&nbsp; For example, one can create a reusable stage control pad user interface that can operate on any type of stage that implements the pre-defined &quot;stage&quot; interface. Or, from your Car+Engine example, you can reuse a Car by putting in a new type of Engine.&nbsp; Very cool <img src='http://expressionflow.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomi</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-16</link>
		<dc:creator>Tomi</dc:creator>
		<pubDate>Mon, 26 Mar 2007 16:41:44 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-16</guid>
		<description>LabVOOP is not stable by any means in LV 8.20. There are rumors of forthcoming maintenance release to 8.20 that should fix many of the LabVOOP related problems. If you are looking for a really stable platform, LabVOOP is not yet a proper choise. &lt;strong&gt;EDIT:&lt;/strong&gt; Although there are stability issues, I&#039;ve not encountered any or at most very few stability issues at runtime. Most of the issues are only present at development time. So if you get your code to compile, it very probably also runs correctly.</description>
		<content:encoded><![CDATA[<p>LabVOOP is not stable by any means in LV 8.20. There are rumors of forthcoming maintenance release to 8.20 that should fix many of the LabVOOP related problems. If you are looking for a really stable platform, LabVOOP is not yet a proper choise. <strong>EDIT:</strong> Although there are stability issues, I&#8217;ve not encountered any or at most very few stability issues at runtime. Most of the issues are only present at development time. So if you get your code to compile, it very probably also runs correctly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John_Rouse</title>
		<link>http://expressionflow.com/2007/03/26/code-reuse-with-interface-design-and-composition/comment-page-1/#comment-15</link>
		<dc:creator>John_Rouse</dc:creator>
		<pubDate>Mon, 26 Mar 2007 16:32:19 +0000</pubDate>
		<guid isPermaLink="false">http://expressionflow.com/?p=7#comment-15</guid>
		<description>my apology for asking this here&#160;if this is covered elsewhere please forward to appropriate forum.Is composition (of this type) actually stable in LVOOP today (ver8.2)?I&#160;have tried this before and it seemed to give me much trouble. Any pointers about what works and what does not work in 8.2 regarding composition?&#160;</description>
		<content:encoded><![CDATA[<p>my apology for asking this here&nbsp;if this is covered elsewhere please forward to appropriate forum.Is composition (of this type) actually stable in LVOOP today (ver8.2)?I&nbsp;have tried this before and it seemed to give me much trouble. Any pointers about what works and what does not work in 8.2 regarding composition?&nbsp;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

