In our company we use PureMVC for all our Flex projects and I strongly recommended it to a contract programming firm that I've hired to build a Flex application. This app has a call to a database when it fires up that hydrates some objects and then a call when it shuts down to update dirty objects otherwise it is mostly client side graphic object generation and movement. I'd like to hear what others here have to say about why they don't wish to follow my advice. Here is what they said:
There are two existing widely used Flex architecture frameworks:
We choose to not use them guided by the following aspects:
- Both of them are very data-service oriented as they are designed to work with database CRUD functionallity applications. This is not the case as this is a document editing application.
- Have a poor Domain Model witch is based only on Value Objects (a DTO Flex renaming), all the domain logic must be on Controller Commands or in the server side data-service handler.
- They are centralistic. This means that they are designed to work at application level for the event flow. This may not be desiderable as application widgets may be separated later for the creation of the document viewer.
- Specifically PureMVC is designed to work "out" of ActionScript / Flex envirioment as it tries to be more general and be implemented on many other languages. As a downside it does not use the databinding capabilities of AS3, but using a Mediator object beetween the view and the model. This is just time-wasting code.