Klikk på tall for å vise stripe
Toon 1Toon 2Toon 3Toon 4Toon 5Toon 6Toon 7Toon 8Toon 9Toon 10 JavaZone JavaZone

Achieving greater code reuse through decoupling of feature implementations from the domain

99bea350-c191-4f78-913f-ac855659df07
View video  Presentation
Abstract:
In the last several years, I've taken a different approach to building software applications. Implementing various application concerns(1) generically(2) has enabled me to reuse the implementations across projects.
  • (1) concerns: such as forms construction, validation, ui navigation, search, authorization
  • (2) generically: in such a fashion that the implementation is decoupled from, or agnostic from the application's domain
Specifically, I have constructed a framework that enables a very high degree of reuse, whereby I reduce application development to little more than defining the domain. Where implementations of the persistence, user interface, and other concerns can be reused across differing applications. In this talk, I will be sharing with you my experiences with this approach, and the results it has yielded. Live demonstrations of the various reusable features will be given.
Outline:
  • Introduction (1 min)
  • What's wrong with the way we build software applications today? (5 mins)
  • The scaffolds we see in rails, grails, etc.. are the beginning (2 mins)
  • Decoupling concerns implementations from the domain = Freedom to reuse implementations across applications (1 min)
  • How to decouple the model: coupling to the metamodel (5 mins)
  • Demonstrating sample applications constructed in this fashion (5 mins)
  • Overview of Generic Implementations:
  • Generic Create, Read, Update, Delete (2 mins)
  • Deployment (5 mins)
  • Analysis of the results (5 mins)
  • Conclusions/References (1 min)
  • Q&A (5 mins)
Language:
English
Level:
Intermediate
Required experience:
Participants should have experience in designing and implementing business software solutions. Code examples will be given using the following specific tool stack: the Java programming language, the Swing GUI Toolkit, the Hibernate O/R Mapping framework, and Java reflection, metadata concepts.
Expected audience:
Please consider attending this session if you are either a developer or manager with interest in exploring ways to improve the current state of software applications development in the areas of: developer productivity, usability, software application maintainability.
  • Photo of Eitan Suez
    Eitan Suez
    Eitan Suez is an independent software developer, primarily known for developing a system for extremely agile software development by the name of JMatter (open source, GPL, see http://jmatter.org/ ). This talk is a reflection of Eitan's experiences with this approach of constructing software solutions in a fashion where feature implementations are decoupled from the domain.