From: Dan Yoder Date: 2008-02-07T02:51:43+09:00 Subject: Re: [ANN] Introducing Waves - Web App Framework > different pattern, using mapping on controller and module interesting. > Now what is the pros and cons? The advantage, IMHO, of this approach is that the mapping are more flexible and the controllers are simplified and completely independent of the request context. This makes the controllers more reusable and allows you ultimately to even bypass the MVC approach when appropriate. For example, in one of my applications, I've bypassed the MVC stuff for serving up certain kinds of resources (like stylesheets). You have total control over which resources to do this with or how it gets done. Also, because the filtering is done in the mapping, not in the controller, it is much easier to ensure that filters are run consistently across controllers and that stray methods are accidentally exposed as URLs. I gave an example of this on the Web site and in a prior post. The disadvantage is that they are somewhat more verbose and complex. There are convenient helper methods to try to minimize this, but I haven't figured out how to get it to the same expressiveness of Rails or Merb. Also, the responsibility is on the developer not to be too liberal in bypassing controller or view logic. > any other framework adopting this pattern? Not as such, but Rack does use request-based mappings as well. > good job by the way! Thank you! Dan > > On Feb 5, 2008 7:30 PM, Dean Wampler wrote: > >> Or Merb? >> >> On Feb 5, 2008 7:10 PM, Daniel DeLorme wrote: >> >>> Dan Yoder wrote: >>>> I am pleased to announce the first beta release of Waves, an >> open-source >>>> framework for building Ruby-based Web applications. Waves is >>>> feature-rich, compact, and extensible. Waves is thread-safe, >>>> hot-patchable, and supports easy clustering. Waves relies on >>>> best-of-breed Ruby libraries, including Rack, Mongrel, Sequel, >> Markaby, >>>> and Erubis, among others. And it uses just-in-time class and module >>>> creation to minimize the code you have to write. >>> >>> It's a very nice effort and all that, but it seems to me that >>> this is >>> just like rails, except done in a slightly different way, different >>> conventions, etc. So let me ask the (possible rude) question that >>> matters most: >>> >>> Why should I use this instead of rails? >>> >>> Daniel >>> >>> >> >> >> -- >> Dean Wampler >> http://www.objectmentor.com >> http://www.aspectprogramming.com >> http://aquarium.rubyforge.org >> http://www.contract4j.org >> > > > > -- > Do not be afraid of Change.