> Dave, I'm not talking about navigation elements. I'm talking > about application actions, like clicking on a product to get > product details, clicking a breadcrumb link to get to that > page, clicking sort in a table of data to order on that > column, or any one of an unlimited number of links and forms > that make up a web application that are separate from global > site navigation.
Again, though, these are navigation elements. They're not "global site navigation", but they shouldn't be repeated in too many places. In your example of clicking on a product to get product details, I would naturally assume that the page which lets you click on a product would be part of the same module that lets you see product details, and both pages are likely to be in the same directory anyway. The same would hold true for sortable tables, and most of the other "unlimited number of links and forms that make up a web application". > There's dozens of ways to do anything in programming. The > point of Fusebox is that it brings together lots and lots of > these good ideas into a common framework that is easy to > learn, use, and maintain. There's a whole lot of benefits to > Fusebox beyond just circuits...it just so happens that > circuits are what was asked about. While there are many ways to do almost anything, I'm not convinced that all the ideas within the common framework of Fusebox are all that good. And, if you're trying to convince us why circuits are useful, it's not helpful to say "well, Fusebox has all these other good things too!" > hmmm...well, that's OK. For me, problems are things like > creating a sturdy architecture that consists of well-defined, > encapsulated components, and building applications that are > easy to maintain while incorporating a great number of > best-practices. Fusebox is a great way to confront these > problems, but it is not the only way. Again, I'm not convinced that it's even a great way, of course. I'm not convinced that it helps or hinders implementation of best practices. My experience with Fusebox is, at this point, pretty extensive. I've analyzed many CF applications. A lot of these were in Fusebox. I tend to find the same problems in both the Fusebox and non-Fusebox applications. Unnecessary abstraction does not count as a best practice. On the other hand, I haven't found it to be a sign of a poorly-constructed application, either. I've seen good Fusebox applications and bad non-Fusebox applications. But how well-defined and encapsulated can a component be, when it's tightly coupled to your database schema? > But using a standard like Fusebox makes is very easy to > let others maintain the code, because they understand how > it works. The danger with custom or "secret" methodologies > is always the fact that before anyone can work on it they > have to learn the approach used. As a CF developer, I've yet to see a "secret" methodology, but I hear this a lot from Fusebox advocates. Here are some samples from John Quarto-von-Tivadar: "Or if you're a larger shop that has a vested interest in a 'secret' methodology -- much like the people of Florence at one time gave Michaelangelo's David a FigLeaf, which only serves to create interest in what is covered up-- then any open publically known framework, Fusebox or otherwise, has to be spun a certain way since the heart of the business centers on one's 'secret sauce'" "... advantages lie ... in Fusebox's adaptability to their local needs without having to customize it without creating dependencies on "guruness" or "secret sauce". let's face it: if you're a Dinowitz or a Corfield or a Liotta, you don't *need* Fusebox, cuz you're bright and you've got a million other tricks in your arsenal. But what about the other 199,997 CF'ers? The best bet they have to get to the point where they can pick and choose the framework that suits them best is to use a known, standardized framework that solidifies sound practices." But within source code, there are no secrets - everything's there for all to see. Within a very simple language like CFML, it's even easier. The complexity often tends to lie outside of CF, anyway, and Fusebox doesn't really tell you anything except how to organize your CF code. The biggest problem I run into, when analyzing someone's application, tends to be thoroughly understanding the choices made within the data schema. Once I understand that, the rest follows pretty easily. As for "guruness", I think that competence would be a sufficient substitute. A competent team of developers will not have any trouble reading and understanding a CF application. No "secret sauce" is necessary. > Again, I don't think Fusebox is all-powerful...just very > useful in many situations. There are places where standardization is especially useful. For example, it's useful to have everyone agree to drive on one side of the road. There are, however, places where it's less useful, and in my opinion, a lot of the places where Fusebox brings standardization are not that useful. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

