There is an excellent, albeit long, post by Marc Funaro entitled "How OO Almost Destroyed My Business"In short, the article describes how going to the effort of applying Java OO rules to CF's dynamic behavior on every project can take you away from your main goal.I do agree with some of the points made but I think there is something everyone has got to remember. OO is a must for some languages, but when it comes to ColdFusion you're allowed to make a choice on your coding style for the application you are building. If you come from an OO background and you want your recordset as an object do it, use Transfer or another ORM and apply it. If you just want to organise your logic away from your views you can use CFC's to simply handle that. If you are building a 3 page leaflet site then you can throw one together using procedural code with <cfmodule> to wrap a layout around 3 .cfm pages. Thats the beauty of CF and it always will be. From my point of view when building an application my goal is plain, make sure the client get a solid app and to do this it's simple: organise your code, stick to a particular methodology or framework, and remain consistent. If you do this you will always be able to revisit your application and make changes quickly and efficiently regardless of your coding style. With all that said, always find out what the next guy is learning/teaching and give it a try. But after that don't be afraid to say it doesn't fit what I am working on currently so I'm moving on.