To instantiate interfaces.

Davi Sáránszky Mesquita davimesquita at gmail.com
Thu Apr 14 12:08:52 PDT 2011


Thanks for advice.

But my proposal it's for reduce the quantity of classes and get
more productive.

Davi
+55 (11) 8180-9411 TIM



2011/4/14 Kai Kunstmann <Kai.Kunstmann at combase.de>

> Hi,
>
> There is a "Design Pattern" called "Strategy" for this kind of
> behaviour. Have a look at Google's Guice library or the Spring Framework
> for pluggable components.
>
> Cheers,
> Kai
>
>
> Am Donnerstag, den 14.04.2011, 12:53 -0300 schrieb Davi Sáránszky
> Mesquita:
> > Maybe i am late, but i will love to receive critic's about this.
> >
> > thansks,
> > SMALL LANGUAGE CHANGE PROPOSAL FORM *AUTHOR(S):* Davi Saranszky Mesquita,
> > SCJP 6.0
> >
> > *OVERVIEW*
> > Ability to instantiate interfaces using pre-implemented behavior.
> >
> > When we have lots of factories and native implemented Java. Cloud and
> > multi-platform implementations needs to creates factories and interface
> > oriented programing.
> >
> > For example: For the Google App Engine, we create an interface with
> > pre-implemented behavior. When we ship this product to another platform,
> the
> > only thing we need to do its using the same interface.
> >
> > The excess of using this will result in bigger Jar libraries.
> >
> >
> > *EXAMPLES*
> >
> >
> > A TARGET 6 EXAMPLE:
> >
> > // FILE: StoreFile.java
> >
> > import java.io.File;
> >
> > interface StoreFile {
> >
> >  void doIt(File file);
> >
> > }
> >
> > // FILE: StoreFileImpl.java
> > import java.io.File;
> > class StoreFileImpl implements StoreFile {
> >  public void doIt(File file) {
> >  // DO MAJOR USER IMPLEMENTATION
> >  }
> > }
> >
> > A TARGET 7 EXAMPLE:
> >
> >  // FILE: StoreFile.java
> >
> > import java.io.File;
> >
> > interface StoreFile {
> >
> >  void doIt(File file) {
> >      public void doIt(File file) {
> >      // DO MAJOR USER IMPLEMENTATION
> >      }
> >         }
> >
> > }
> >
> > At this point on target 7 example, we can instantiate the interface OR
> > implements that for changing behaviors.
> >
> > // FILE StoreFileGAE.java
> > import java.io.File;
> > class StoreFileGAE implements StoreFile {
> >
> > void doIt(File file) {
> >      public void doIt(File file) {
> >      // DO Google App Engine NATIVE IMPLEMENTATION
> >      }
> >         }
> > }
> >
> > At this point. We can just does nothing for just instantiations
> interfaces.
> >
> > The: new StoreFile();
> >
> > just works.
> >
> > For localhost or the major products but for this example we can ship to
> > Google App Engine for changing the implementations.
> >
> > This can be used for cloud storeges, cloud threads and task workers, for
> > private grid and clustering like Cassandra or Haboop.
> >
> >
> >
> > Davi
> > +55 (11) 8180-9411 TIM
> >
>



More information about the coin-dev mailing list