Well I already have an interceptor that already does it, problem is that if I release any of my projects as open source they will not be compatible with other peoples. As all modules that I am writing and have been working on for the last 3 years, follow this convention.
Guess that’s the grails side of me where I want my services separated from my application business logic.
As for ORM I love it, but its not the problem here. As I can move this into other folders as I do, but if you look at all the code that is being release like ContentBox, it is saying the best place to place your entities is in the model folder. Once you start working on larger applications, as I have done then there is a performance hit because CF will time out when trying to inspect all those CFC’s so I am saying it with a grain of salt, either ColdBox adopts the same conventions as grails and separates the logic, everyone else who starts to release large applications will fall into the same category / problem its just a matter of time.
And I personally do like my services also away living in its own directories the same as grails does it, its neater and you know what files are services and what are not, yeah we can always end the name of the file with Service, but that’s not the point. The point is everything has a place, except services in ColdBox and I would really like to know why that is the case. CB is modelled after grails, and I am very curious why this convention was never introduced in the first place.
Now I can release my up coming projects, all of which I did ask for people to help on some months ago, but it will not be projects that people can just slot into their projects without some tweaks. And I am not going to change my way, because a small few think it is ok to have all entities, models and services in the one directory.
Sorry but I have been developing long enough, and been around a lot of smart people both in the grails and Java world to see the benefits of the segregation even if others can’t. And like I said if you are working on a small application, you will be fine, work on a larger application and you will struggle with time outs when first running the application with all these in the one directory.
That’s my piece and the reason why, its a damn good reason, now its up to Luis to agree.
And how is it asking for trouble? This application running in CB was performance tested on a server, without making any changes to a stock standard IIS install and we hit the 5000 concurrent users, and made no real indent on it slowing down, falling over. In fact it went from the old application that had to be restarted every 8 hours, to not being restarted in 6 months. It went from a memory footprint of 1.9+g to a little over 600mb max.
The SQL server using ORM doesn’t even batter an eye lid any more. So I ask again how is ORM asking for trouble? I would really like to know where you got your perception on ORM?