Nothing gets my ire up like people throwing around the terms ‘Design Patterns’ and ‘Frameworks’ in some way believing that these improve day to day activities of a great majority of Flash projects. In some larger projects with an extremely strong lead architect, you can certainly gain from the use of frameworks or a design pattern to manage the work of multiple developers, but in the end you must have a very strong lead controlling the project, otherwise you end up with frameworkitis (many frameworks used on the same project).
I’ve worked on Java based projects (where a lot of the terms come from and implementations get their beef from) before and lead developers in very large (100,000 lines of code) projects and found that it can hinder maintenance if the framework is not flexible and easy to understand or utilize.
It also can hinder a project with shorter time lines to push these types of code libraries to mixed groups, as some of these types of systems are geared more to one type of application or another or specifically an application vs. a media project.
With all the different options, you end up with concessions instead of building a custom solution to the project at hand. Very often these are overtly complex and in larger groups can be time consuming to implement, the exact reverse to what frameworks promote as a benefit.
Here’s some frameworks that exist for Flash that you could consider if so inclined:
CASA Framework (http://casaframework.org/)
ARP Framework (http://osflash.org/projects/arp)
Jumpship Framework (http://osflash.org/projects/jumpship)
Vegas Framework (http://code.google.com/p/vegas/)
Pixlib Framework (http://osflash.org/projects/pixlib)
These are all good but very different in their approach. I would like others to recommend other frameworks and personal experience with projects executed utilizing a framework. I’m leaning towards Pixlib as a good general purpose framework.
Personally, I’ve worked with homegrown as well as canned framework libraries and have had mixed success. Sometimes even the biggest project can not call for a full blown framework when a collection of classes and components would do the trick in a pinch.
In the end, I’m happiest in shorter projects when I use a broadcaster and a few handy animation libs.