<?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"
	>
<channel>
	<title>Comments on: Partial ordering of qooxdoo classes</title>
	<atom:link href="http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes/feed" rel="self" type="application/rss+xml" />
	<link>http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes</link>
	<description>The qooxdoo news section</description>
	<pubDate>Wed, 19 Nov 2008 12:10:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Thomas Herchenröder</title>
		<link>http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes#comment-8486</link>
		<dc:creator>Thomas Herchenröder</dc:creator>
		<pubDate>Wed, 19 Mar 2008 19:54:09 +0000</pubDate>
		<guid isPermaLink="false">http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes#comment-8486</guid>
		<description>@Meneer R: Thanks for your interesting comment, you give us something to think about ... :-)</description>
		<content:encoded><![CDATA[<p>@Meneer R: Thanks for your interesting comment, you give us something to think about &#8230; <img src='http://news.qooxdoo.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Meneer R</title>
		<link>http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes#comment-8480</link>
		<dc:creator>Meneer R</dc:creator>
		<pubDate>Wed, 19 Mar 2008 18:11:10 +0000</pubDate>
		<guid isPermaLink="false">http://news.qooxdoo.org/partial-ordering-of-qooxdoo-classes#comment-8480</guid>
		<description>Well, the ability to create such an order is good measure of quality.

The more complete the ordering, the better the framework is organized.

If the order is almost horizontal, that means a complete restructure might not be such a bad idea. Personally, i believe that _mixins_ are the way forward. Inheritance is overrated and often abused, and at the very least a little problematic. 

A re-structure where the majority of inheritance relationships are replaced with mixins and composition relationships is a great improvement to any framework. The amount of over-designing that takes place to make everything fit in the inheritance model does not make it more modular, nor more maintainable. 

Something about a how everything is a nail if you ask a hammer.

In qooxdoo too, i find that inheritance is often over-used, whereas (abstract) mixins would suffice. Examples:

  - sizeable         (adds width,height properties)
  - displayable     (adds support dom-node creation, caching and destroying methods)
  - dispatchable   (adds event-handling-support)
  - value             (add the getValue and setValue commands and validation support)
  - appearance    (adds appearance/theme support)
  - label              (adds label functions and translation support)
  - navigational   (adds statefull navigational element, with automatic browser-history support)

etc.

Most of these should be abstract: that is they require that you implement some or methods. The perfect implementation would allow the creator of the class to specify constructor arguments to each of these. 

Mixins' should be able to have both internal and external dependencies on other mixin's themselves. The external dependencies should be constructed by the user of the mixin, whereas the internal are constructed by the mixin themselves and are not directly available to the user. 

But like I said before, i think this would be great for all frameworks. Nothing qooxdoo specific. I could say the same for most of the java and .net frameworks.</description>
		<content:encoded><![CDATA[<p>Well, the ability to create such an order is good measure of quality.</p>
<p>The more complete the ordering, the better the framework is organized.</p>
<p>If the order is almost horizontal, that means a complete restructure might not be such a bad idea. Personally, i believe that _mixins_ are the way forward. Inheritance is overrated and often abused, and at the very least a little problematic. </p>
<p>A re-structure where the majority of inheritance relationships are replaced with mixins and composition relationships is a great improvement to any framework. The amount of over-designing that takes place to make everything fit in the inheritance model does not make it more modular, nor more maintainable. </p>
<p>Something about a how everything is a nail if you ask a hammer.</p>
<p>In qooxdoo too, i find that inheritance is often over-used, whereas (abstract) mixins would suffice. Examples:</p>
<p>  - sizeable         (adds width,height properties)<br />
  - displayable     (adds support dom-node creation, caching and destroying methods)<br />
  - dispatchable   (adds event-handling-support)<br />
  - value             (add the getValue and setValue commands and validation support)<br />
  - appearance    (adds appearance/theme support)<br />
  - label              (adds label functions and translation support)<br />
  - navigational   (adds statefull navigational element, with automatic browser-history support)</p>
<p>etc.</p>
<p>Most of these should be abstract: that is they require that you implement some or methods. The perfect implementation would allow the creator of the class to specify constructor arguments to each of these. </p>
<p>Mixins&#8217; should be able to have both internal and external dependencies on other mixin&#8217;s themselves. The external dependencies should be constructed by the user of the mixin, whereas the internal are constructed by the mixin themselves and are not directly available to the user. </p>
<p>But like I said before, i think this would be great for all frameworks. Nothing qooxdoo specific. I could say the same for most of the java and .net frameworks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
