Generic Data Transfer Object checked into p4j5

A sample implementation of the Generic Data Transfer Object pattern is checked in to p4j5. The idea of the GDTO is to provide a flexible, but type-unsafe, way to transport data between tiers.
Beyond pure data transport the GDTO can be also used for validation. The flexibility of the GDTO costs also performance - there are more instances involved.

It is also not very easy to work with GDTO directly:

  private GenericDTO generic;
 
    public void setUp(){
         this.generic = new GenericDTO("Cart");
    }
 
   public void testAdd() {
        assertEquals(0,this.generic.getNumberOfAttributes());
        StringType description = new StringType(null,"a simple cart for test purposes");
        this.generic.add("description", description);
        assertEquals(1,this.generic.getNumberOfAttributes());
        assertFalse(this.generic.isEmpty());
        String toString = generic.toString();
        assertNotNull(toString);
        System.out.println(toString);
    }

However it's intended to be used in reflective way (e.g. binding the UI automatically to the GDTO). Changes to the underlying data also do not affect the compatibility of the interfaces/layers - however the stability of the interface requires more testing. The lack or renaming of attributes can cause runtime exceptions.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License