everything is doable, the question is about design (not if i can make it work, 
but if i can make it work reusing code, easy to change etc.)

say i have YuiButton and YuiMenu, both need to contribute the same js to the 
header. now i want to reuse the code that adds this header contribution. I can 
have YuiButton and YuiMenu both extend YuiComponent. But, what if I also want 
my Page to be unaware of the toolkit I'm using? I would like the page to use 
instances of Button, Menu etc. So YuiButton can extend Button, but then it 
can't share code with YuiMenu through extending. I can have YuiUtils that both 
of them use, which means, in fact, that I'm implementing the bridge pattern.

what would be good, i think, for the framework, is to use the bridge pattern 
for all components. Then, different kinds of toolkit can provide the 
implementation. 

Button: has methods like onClick, uses model for labels.
YuiButton (used by Button): has methods like render(), can add headers, and 
probably doesn't use the model, but gets explicitely the attributes to use 
(e.g., label)

ittay

Eelco Hillenius wrote:
> Maybe you could be more explicit in what you mean?
> 
> The differences between those versions would primarily be in the
> different javascript/ css dependencies they use, which is easy to
> configure using header contributors. And they would need some
> different initializations, which you could maybe do with attribute
> modifiers. If that wouldn't work, you can always fall back on
> abstracting parts of the component into plug-gable pieces  so that you
> configure a component using composition.
> 
> Eelco
> 
> 
> On 7/4/06, Ittay Dror <[EMAIL PROTECTED]> wrote:
>> maybe wicket 2.0 can refactor the components hierarchy to use the bridge 
>> pattern?
>>
>> for example, i want a Calendar component that will be implemented with 
>> jscalendar, yui calendar etc. making Calendar abstract and extending it with 
>> YuiCalendar is not efficient if there are other implementations using Yui, 
>> since there is probably a lot of code they share.
>>
>> of course i can add the bridge pattern my self, but it will be easier if 
>> wicket already has that, since then all the wicket technical stuff is taken 
>> care of, and the only thing required is understanding the library i want to 
>> integrate with.
>>
>> thanx,
>> ittay
>>
>> --
>> ===================================
>> Ittay Dror,
>> Chief architect, openQRM TL,
>> R&D, Qlusters Inc.
>> [EMAIL PROTECTED]
>> +972-3-6081994 Fax: +972-3-6081841
>>
>> http://www.openQRM.org
>> - Keeps your Data-Center Up and Running
>>
>> Using Tomcat but need to do more? Need to support web services, security?
>> Get stuff done quickly with pre-integrated technology to make your job easier
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>> _______________________________________________
>> Wicket-develop mailing list
>> Wicket-develop@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>>
> 
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> 


-- 
===================================
Ittay Dror, 
Chief architect, openQRM TL, 
R&D, Qlusters Inc.
[EMAIL PROTECTED]
+972-3-6081994 Fax: +972-3-6081841

http://www.openQRM.org
- Keeps your Data-Center Up and Running

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to