We know about aspects - those cross-cutting concerns that we can layer on top of an application, the functions like logging that need to be done in a number of different places.
A curious thought struck me for the first time since I was introduced to Grails. Here's a complete framework for any generic application. It has persistence, a web interface, a testing framework, etc., etc. All you need to do to build your own custom application is to add your domain classes and a set of constraints governing them, and the system essentially generates whatever is required for the application to run.
It's almost as if the developer applied a "domain aspect" to a completely generic application and turned it into a bespoke one.
It's a fascinating thought, and I need to explore this idea some more. By Jove, this could be as profound an idea as Inversion of Control! Before Martin Fowler can jump in to do his mischief, let me lay claim to a number of possible pattern names:
1. Inversion of Aspect
2. Domain as Aspect
3. Domain Injection
There, that should do it until I gain more insights on this.
A curious thought struck me for the first time since I was introduced to Grails. Here's a complete framework for any generic application. It has persistence, a web interface, a testing framework, etc., etc. All you need to do to build your own custom application is to add your domain classes and a set of constraints governing them, and the system essentially generates whatever is required for the application to run.
It's almost as if the developer applied a "domain aspect" to a completely generic application and turned it into a bespoke one.
It's a fascinating thought, and I need to explore this idea some more. By Jove, this could be as profound an idea as Inversion of Control! Before Martin Fowler can jump in to do his mischief, let me lay claim to a number of possible pattern names:
1. Inversion of Aspect
2. Domain as Aspect
3. Domain Injection
There, that should do it until I gain more insights on this.
2 comments:
I like 'domain injection'. Also thought of something to do with 'casting' like 'domain casting' or similar. Thanks also for your references to Grails etc - helps me keep up with what's going on.
How about NakeObjects:
http://en.wikipedia.org/wiki/Naked_objects
Post a Comment