Dependency Injection or Inversion of Control

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Dependency Injection or Inversion of Control

Ron Wheeler
  Does anyone know if there is a framework that glues programs together
dynamically.
We use Spring in Java and have gotten hooked on the ease with which
applications can be built.

We would like to try to dynamically glue the application together
including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods
in an XML configuration file (.jsp) would simplify building e-learning
content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC)
that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the
multimedia behaviour (show this image 4 seconds into the sound file and
then at 7 seconds display this text with a specific bullet in bold green
Arial 14 point characters).

We have developed a wide range of training courses using this technology
ranging from "Inroduction to ISO 14000" to a 6 hour introduction to
operating a Xylene refinery to an on-boarding course for a government
department that described the regional operating units and missions of
each of the operating units.

This was done over 8 years ago and we have learned a lot since and are
pretty sure that there have to be better ways of doing this today given
the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

John A. De Goes

I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations.

This is about the best I've come up with:

var foo: Foo;
var bar: Bar;

public function new() {
   this.foo = Inject.interfaceOf(Foo);
   this.bar = Inject.singletonOf(Bar);
}

External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:

Inject.main(function(i) {
  i.bindClass(Foo, FooImpl);
  i.bindSingleton(Bar, BarImpl);
});

OR

Inject.main(function(i) { i.load(xml); });

Regards,

John

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

tommedema
I'm using this as suggested by blackdog :

class Injector {
   
static var providers = new Hash < Void->Dynamic > ;
   
public static function setProvider<T>(type:Class<T>, provider:Void->T):Void {
       
var name = Type.getClassName(type);
       
if (providers.exists(name))
           
throw "duplicate provider for " + name;
       
else
            providers
.set(name, provider);
   
}
   
public static function get<T>(type:Class<T>):T {
       
var name = Type.getClassName(type);
       
return
           
if (providers.exists(name))
                providers
.get(name);
           
else
               
throw "no provider for " + name;
   
}
}
using Injector;

//wherever you would like to wire it up:
ILoginService.setProvider(Server.getInstance);
ILoginInterface.setProvider(LoginScreen.getInstance);

//and in Main:
var server = ILoginService.get();
var login = ILoginInterface.get();


- Tom

2010/7/21 John A. De Goes <[hidden email]>

I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations.

This is about the best I've come up with:

var foo: Foo;
var bar: Bar;

public function new() {
   this.foo = Inject.interfaceOf(Foo);
   this.bar = Inject.singletonOf(Bar);
}

External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:

Inject.main(function(i) {
  i.bindClass(Foo, FooImpl);
  i.bindSingleton(Bar, BarImpl);
});

OR

Inject.main(function(i) { i.load(xml); });

Regards,

John

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

blackdog-2
hi Tom, that doesn't look like one of mine :)



On Wed, Jul 21, 2010 at 9:55 AM, Tom <[hidden email]> wrote:
I'm using this as suggested by blackdog :

class Injector {
   
static var providers = new Hash < Void->Dynamic > ;
   
public static function setProvider<T>(type:Class<T>, provider:Void->T):Void {
       
var name = Type.getClassName(type);
       
if (providers.exists(name))
           
throw "duplicate provider for " + name;
       
else
            providers
.set(name, provider);
   
}
   
public static function get<T>(type:Class<T>):T {
       
var name = Type.getClassName(type);
       
return
           
if (providers.exists(name))
                providers
.get(name);
           
else
               
throw "no provider for " + name;
   
}
}
using Injector;

//wherever you would like to wire it up:
ILoginService.setProvider(Server.getInstance);
ILoginInterface.setProvider(LoginScreen.getInstance);

//and in Main:
var server = ILoginService.get();
var login = ILoginInterface.get();


- Tom

2010/7/21 John A. De Goes <[hidden email]>

I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations.

This is about the best I've come up with:

var foo: Foo;
var bar: Bar;

public function new() {
   this.foo = Inject.interfaceOf(Foo);
   this.bar = Inject.singletonOf(Bar);
}

External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:

Inject.main(function(i) {
  i.bindClass(Foo, FooImpl);
  i.bindSingleton(Bar, BarImpl);
});

OR

Inject.main(function(i) { i.load(xml); });

Regards,

John

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

game flash
In reply to this post by tommedema
Sping ActionScript (formerly Prana) sounds like what you're looking for:
http://www.springactionscript.org/

I'm not sure that it's been ported to HaXe, but you should be able to use the swc if its an AS3 project.

On Wed, Jul 21, 2010 at 9:55 AM, Tom <[hidden email]> wrote:
I'm using this as suggested by blackdog :

class Injector {
   
static var providers = new Hash < Void->Dynamic > ;
   
public static function setProvider<T>(type:Class<T>, provider:Void->T):Void {
       
var name = Type.getClassName(type);
       
if (providers.exists(name))
           
throw "duplicate provider for " + name;
       
else
            providers
.set(name, provider);
   
}
   
public static function get<T>(type:Class<T>):T {
       
var name = Type.getClassName(type);
       
return
           
if (providers.exists(name))
                providers
.get(name);
           
else
               
throw "no provider for " + name;
   
}
}
using Injector;

//wherever you would like to wire it up:
ILoginService.setProvider(Server.getInstance);
ILoginInterface.setProvider(LoginScreen.getInstance);

//and in Main:
var server = ILoginService.get();
var login = ILoginInterface.get();


- Tom

2010/7/21 John A. De Goes <[hidden email]>

I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations.

This is about the best I've come up with:

var foo: Foo;
var bar: Bar;

public function new() {
   this.foo = Inject.interfaceOf(Foo);
   this.bar = Inject.singletonOf(Bar);
}

External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:

Inject.main(function(i) {
  i.bindClass(Foo, FooImpl);
  i.bindSingleton(Bar, BarImpl);
});

OR

Inject.main(function(i) { i.load(xml); });

Regards,

John

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

tommedema
In reply to this post by blackdog-2
Hi,

I stupidly mistaken blackdog with back2dos.

I meant back2dos, of course.

- Tom

2010/7/21 blackdog <[hidden email]>
hi Tom, that doesn't look like one of mine :)



On Wed, Jul 21, 2010 at 9:55 AM, Tom <[hidden email]> wrote:
I'm using this as suggested by blackdog :

class Injector {
   
static var providers = new Hash < Void->Dynamic > ;
   
public static function setProvider<T>(type:Class<T>, provider:Void->T):Void {
       
var name = Type.getClassName(type);
       
if (providers.exists(name))
           
throw "duplicate provider for " + name;
       
else
            providers
.set(name, provider);
   
}
   
public static function get<T>(type:Class<T>):T {
       
var name = Type.getClassName(type);
       
return
           
if (providers.exists(name))
                providers
.get(name);
           
else
               
throw "no provider for " + name;
   
}
}
using Injector;

//wherever you would like to wire it up:
ILoginService.setProvider(Server.getInstance);
ILoginInterface.setProvider(LoginScreen.getInstance);

//and in Main:
var server = ILoginService.get();
var login = ILoginInterface.get();


- Tom

2010/7/21 John A. De Goes <[hidden email]>

I've investigated doing dependency injection in HaXe. It's not easy because run-time reflection is quite limited and there are no annotations.

This is about the best I've come up with:

var foo: Foo;
var bar: Bar;

public function new() {
   this.foo = Inject.interfaceOf(Foo);
   this.bar = Inject.singletonOf(Bar);
}

External configuration data, either in HaXe or XML or something else entirely, could specify at application entry point details like which classes are used for which interfaces, etc.:

Inject.main(function(i) {
  i.bindClass(Foo, FooImpl);
  i.bindSingleton(Bar, BarImpl);
});

OR

Inject.main(function(i) { i.load(xml); });

Regards,

John

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--

haXe - an open source web programming language
http://haxe.org


--

haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

Dion Amago
In reply to this post by John A. De Goes
I use haxe.rtti.Infos, and use those annotations to inject values.
It's pretty lightweight and simple, but it works.

Dion

On Wed, Jul 21, 2010 at 9:51 AM, John A. De Goes <[hidden email]> wrote:

>
> I've investigated doing dependency injection in HaXe. It's not easy because
> run-time reflection is quite limited and there are no annotations.
> This is about the best I've come up with:
>
> var foo: Foo;
> var bar: Bar;
> public function new() {
>    this.foo = Inject.interfaceOf(Foo);
>    this.bar = Inject.singletonOf(Bar);
> }
>
> External configuration data, either in HaXe or XML or something else
> entirely, could specify at application entry point details like which
> classes are used for which interfaces, etc.:
>
> Inject.main(function(i) {
>   i.bindClass(Foo, FooImpl);
>   i.bindSingleton(Bar, BarImpl);
> });
> OR
> Inject.main(function(i) { i.load(xml); });
>
> Regards,
> John
> On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:
>
> Does anyone know if there is a framework that glues programs together
> dynamically.
> We use Spring in Java and have gotten hooked on the ease with which
> applications can be built.
>
> We would like to try to dynamically glue the application together including
> tying the GUI widgets to the controller.
> We think that the way JSF or JSP widgets are tied to classes and methods in
> an XML configuration file (.jsp) would simplify building e-learning content.
>
> We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that
> dynamically creates user interactions.
> It supports a plug-in architecture that uses XML to describe the multimedia
> behaviour (show this image 4 seconds into the sound file and then at 7
> seconds display this text with a specific bullet in bold green Arial 14
> point characters).
>
> We have developed a wide range of training courses using this technology
> ranging from "Inroduction to ISO 14000" to a 6 hour introduction to
> operating a Xylene refinery to an on-boarding course for a government
> department that described the regional operating units and missions of each
> of the operating units.
>
> This was done over 8 years ago and we have learned a lot since and are
> pretty sure that there have to be better ways of doing this today given the
> progess on the Java side and the smart HaXe crowd here.
>
> Any suggestions or comments?
>
> Ron
>
>
>
>
> --
> haXe - an open source web programming language
> http://haxe.org
>
>
> --
> haXe - an open source web programming language
> http://haxe.org
>

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

John A. De Goes
In reply to this post by Ron Wheeler

OK, I needed this functionality today, so I added it. Example usage:

public function testClassInjectorOverridesPackageInjector() {
    Injector.enter(function(cfg) {
      cfg.inPackage("haxe.framework").bind(Clock, MockClock);
      cfg.inClass(InjectorTestCase).bind(Clock, SystemClock);

      Assert.is(Clock.inject(), SystemClock);
      
      return Unit;
    });
  }

You can specify global bindings, class bindings, module bindings, and package bindings. Class bindings have highest preference, global bindings have lowest preference.

There are several limitations: no circular references, injected classes must have either a factory or no-arg constructor, and all dependencies must be explicitly requested through [interface name].inject().

E-mail me privately if you'd like the URL of the git repository where this is hosted.

Regards,

John 

On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:

Does anyone know if there is a framework that glues programs together dynamically.
We use Spring in Java and have gotten hooked on the ease with which applications can be built.

We would like to try to dynamically glue the application together including tying the GUI widgets to the controller.
We think that the way JSF or JSP widgets are tied to classes and methods in an XML configuration file (.jsp) would simplify building e-learning content.

We have built an RIA in Flash Actionscript (FLASH IDE and later MTASC) that dynamically creates user interactions.
It supports a plug-in architecture that uses XML to describe the multimedia behaviour (show this image 4 seconds into the sound file and then at 7 seconds display this text with a specific bullet in bold green Arial 14 point characters).

We have developed a wide range of training courses using this technology ranging from "Inroduction to ISO 14000" to a 6 hour introduction to operating a Xylene refinery to an on-boarding course for a government department that described the regional operating units and missions of each of the operating units.

This was done over 8 years ago and we have learned a lot since and are pretty sure that there have to be better ways of doing this today given the progess on the Java side and the smart HaXe crowd here.

Any suggestions or comments?

Ron




--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

Lee Sylvester
Hi John,

I'm currently working on my own dependency injection project for the os
community, but was wondering if I could leaf through your tool to see
what I might be missing, if that's okay?  I'll certainly credit you
where idea's have been pilfered and will be sure to give you first dibs
on the finished product :-)

Alternatively, if that's not okay (which I can understand ;-)), maybe I
could finish my DI tool, send it to you with examples, and you can tell
me what you think I could do to make it better (and pilfer some of my
idea's, instead)?

All in the best interests of open source-ness :-P

Thanks and kindest regards,
Lee



John A. De Goes wrote:

>
> OK, I needed this functionality today, so I added it. Example usage:
>
>     public function testClassInjectorOverridesPackageInjector() {
>         Injector.enter(function(cfg) {
>           cfg.inPackage("haxe.framework").bind(Clock, MockClock);
>           cfg.inClass(InjectorTestCase).bind(Clock, SystemClock);
>
>           Assert.is <http://Assert.is>(Clock.inject(), SystemClock);
>          
>           return Unit;
>         });
>       }
>
>
> You can specify global bindings, class bindings, module bindings, and
> package bindings. Class bindings have highest preference, global
> bindings have lowest preference.
>
> There are several limitations: no circular references, injected
> classes must have either a factory or no-arg constructor, and all
> dependencies must be explicitly requested through [interface
> name].inject().
>
> E-mail me privately if you'd like the URL of the git repository where
> this is hosted.
>
> Regards,
>
> John
>
> On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:
>
>> Does anyone know if there is a framework that glues programs together
>> dynamically.
>> We use Spring in Java and have gotten hooked on the ease with which
>> applications can be built.
>>
>> We would like to try to dynamically glue the application together
>> including tying the GUI widgets to the controller.
>> We think that the way JSF or JSP widgets are tied to classes and
>> methods in an XML configuration file (.jsp) would simplify building
>> e-learning content.
>>
>> We have built an RIA in Flash Actionscript (FLASH IDE and later
>> MTASC) that dynamically creates user interactions.
>> It supports a plug-in architecture that uses XML to describe the
>> multimedia behaviour (show this image 4 seconds into the sound file
>> and then at 7 seconds display this text with a specific bullet in
>> bold green Arial 14 point characters).
>>
>> We have developed a wide range of training courses using this
>> technology ranging from "Inroduction to ISO 14000" to a 6 hour
>> introduction to operating a Xylene refinery to an on-boarding course
>> for a government department that described the regional operating
>> units and missions of each of the operating units.
>>
>> This was done over 8 years ago and we have learned a lot since and
>> are pretty sure that there have to be better ways of doing this today
>> given the progess on the Java side and the smart HaXe crowd here.
>>
>> Any suggestions or comments?
>>
>> Ron
>>
>>
>>
>>
>> --
>> haXe - an open source web programming language
>> http://haxe.org
>


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Dependency Injection or Inversion of Control

Lee Sylvester
Oops, you said private. Oh, well, it's not like it's a big secret :-)

Lee




Lee McColl Sylvester wrote:

> Hi John,
>
> I'm currently working on my own dependency injection project for the
> os community, but was wondering if I could leaf through your tool to
> see what I might be missing, if that's okay?  I'll certainly credit
> you where idea's have been pilfered and will be sure to give you first
> dibs on the finished product :-)
>
> Alternatively, if that's not okay (which I can understand ;-)), maybe
> I could finish my DI tool, send it to you with examples, and you can
> tell me what you think I could do to make it better (and pilfer some
> of my idea's, instead)?
>
> All in the best interests of open source-ness :-P
>
> Thanks and kindest regards,
> Lee
>
>
>
> John A. De Goes wrote:
>>
>> OK, I needed this functionality today, so I added it. Example usage:
>>
>>     public function testClassInjectorOverridesPackageInjector() {
>>         Injector.enter(function(cfg) {
>>           cfg.inPackage("haxe.framework").bind(Clock, MockClock);
>>           cfg.inClass(InjectorTestCase).bind(Clock, SystemClock);
>>
>>           Assert.is <http://Assert.is>(Clock.inject(), SystemClock);
>>                     return Unit;
>>         });
>>       }
>>
>>
>> You can specify global bindings, class bindings, module bindings, and
>> package bindings. Class bindings have highest preference, global
>> bindings have lowest preference.
>>
>> There are several limitations: no circular references, injected
>> classes must have either a factory or no-arg constructor, and all
>> dependencies must be explicitly requested through [interface
>> name].inject().
>>
>> E-mail me privately if you'd like the URL of the git repository where
>> this is hosted.
>>
>> Regards,
>>
>> John
>> On Jul 20, 2010, at 5:11 PM, Ron Wheeler wrote:
>>
>>> Does anyone know if there is a framework that glues programs
>>> together dynamically.
>>> We use Spring in Java and have gotten hooked on the ease with which
>>> applications can be built.
>>>
>>> We would like to try to dynamically glue the application together
>>> including tying the GUI widgets to the controller.
>>> We think that the way JSF or JSP widgets are tied to classes and
>>> methods in an XML configuration file (.jsp) would simplify building
>>> e-learning content.
>>>
>>> We have built an RIA in Flash Actionscript (FLASH IDE and later
>>> MTASC) that dynamically creates user interactions.
>>> It supports a plug-in architecture that uses XML to describe the
>>> multimedia behaviour (show this image 4 seconds into the sound file
>>> and then at 7 seconds display this text with a specific bullet in
>>> bold green Arial 14 point characters).
>>>
>>> We have developed a wide range of training courses using this
>>> technology ranging from "Inroduction to ISO 14000" to a 6 hour
>>> introduction to operating a Xylene refinery to an on-boarding course
>>> for a government department that described the regional operating
>>> units and missions of each of the operating units.
>>>
>>> This was done over 8 years ago and we have learned a lot since and
>>> are pretty sure that there have to be better ways of doing this
>>> today given the progess on the Java side and the smart HaXe crowd here.
>>>
>>> Any suggestions or comments?
>>>
>>> Ron
>>>
>>>
>>>
>>>
>>> --
>>> haXe - an open source web programming language
>>> http://haxe.org
>>
>
>


--
haXe - an open source web programming language
http://haxe.org