tag:blogger.com,1999:blog-2105870033801572606.post7672995429464846956..comments2024-02-16T03:13:32.272-06:00Comments on Art's Flex Notes: Presentation Model with Multiple Forms in ParsleyArthttp://www.blogger.com/profile/02704202971467350834noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-2105870033801572606.post-23034347858366315522013-09-24T03:11:04.388-06:002013-09-24T03:11:04.388-06:00Great articles, they really helped me!
Thanks man....Great articles, they really helped me!<br />Thanks man.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-67006521099369451302011-07-27T02:13:44.206-06:002011-07-27T02:13:44.206-06:00This is by far the best introduction to a flex fra...This is by far the best introduction to a flex framework I have ever seen, and yet another reason to start with parsley. <br /><br />Starting with mate I found Robotlegs much more appealing after some projects. With parsley, I hope (and chances are good) that I found a framework which offers everything I'm looking for.<br /><br />Thank you for this series which should definitely get mentioned on the official parsley site.Rico Leutholdhttp://blog.to-fuse.chnoreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-58037591554156658302011-04-15T19:11:30.584-06:002011-04-15T19:11:30.584-06:00Dear Art, I'm with Giles. you're very gene...Dear Art, I'm with Giles. you're very generous with your knowledge. I've recently joined a team that need to ramp up on some of this stuff, and I could point them to your excellent explanations.<br /><br />You're a good man, if our paths ever cross, many beers are coming your way :D<br /><br />GeorgeGeorgehttps://www.blogger.com/profile/12606365479237014057noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-89391631611836235542011-04-15T07:03:02.827-06:002011-04-15T07:03:02.827-06:00Dear Art
Thank you for writing this series, I am ...Dear Art<br /><br />Thank you for writing this series, I am sure it took you a long time. They have helped me to get my head round Parsley and the approach to take a significant project we are starting.<br /><br />All the best<br /><br /><br />GilesUnknownhttps://www.blogger.com/profile/17616029981478120841noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-83207730540873200672011-03-28T14:07:53.907-06:002011-03-28T14:07:53.907-06:00That does sound like a very interesting project.
...That does sound like a very interesting project.<br /><br />Keeping a model with 1000's of objects stored for fast access should not be a problem, unless you are shooting for mobile. As long as you have some quick way to locate your specific object, you should be just fine.<br /><br />Going with a MVC patter should work for you. Your services update the model, so the model is up to date. The Item Renderers pull the data from the model. <br /><br /> You can easily use a presentation model for your item-renderers to keep them from being added to the context. Assuming that data isn't updated 10 times per second, you simply dispatch on message that says, the data has been updated. The PM of the item renderers listen to the message, re-pulls it's data from the model. This way you don't have binding assigned to each individual VO that isn't being viewed, and rather have all the Item Renderers re-pull their data if an only if, there has been an updated. If your data has some index, the message can include the index, then only the corresponding item renderer will re-pull it's data.<br /><br />No binding needed-yet is sure looks it there is binding. You could say it's just another way of doing binding.<br /><br />The best way to do this, is have a method on the model that updates the data on the model, and not have the service/command updated the data directly on the model. That way you can make sure that the message that notifies the listeners get's dispatched.Arthttps://www.blogger.com/profile/02704202971467350834noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-38812329838681753622011-03-28T04:52:20.741-06:002011-03-28T04:52:20.741-06:00Hello Art! Thank you for a swift reply.
I'm w...Hello Art! Thank you for a swift reply.<br /><br />I'm working on a on-line betting application, which needs to displaying a big list of tables, titles, subtitles. There's a up to 15 different item renderers used in a single this list. The list can a one time contain over 1000 instances of these various value objects.<br /><br />Since Flex List control doesn't support multiple item renderers I needed to implement my own list component which does.<br /><br />The component uses a factory pattern and an object pool to recycle visual components which get scrolled out of the visible area of the screen.<br /><br />So in fact item renderers are not firmly bound to a single value object in the mother, but are assigned a different one each time they are pulled out of the object pool by using a simple setter. This setter then populates parts of the item renderer with the new data.<br /><br />In order for the scrolling of the list to work fast, there application of the new value object to an item renderer must be as efficient as possible. That's the main reason I didn't use any data binding.<br /><br />Now however I need to use the same list component for displaying a more dynamic data, which gets regularly updated from the server and needs to handle more user interaction and some animation.<br /><br />The problem which needs to be solved concerns the persistence of the information regarding the animation. After the item renderers performing the animation get pulled from the object pool, they should show continue the animation as if it never stopped. So not only that the information should be stored somewhere in the model, but it should also be regulary updated despite the fact there's at the given moment no item renderer might be assigned to the value object.<br /><br />As you see the problem is somewhat complex.<br /><br />That is why I started looking for a design pattern which will help me solve this problem, or at least point me in the right direction.Anonymoushttps://www.blogger.com/profile/05277080120875348853noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-89497333928707411602011-03-25T15:41:05.708-06:002011-03-25T15:41:05.708-06:00@sensegot
Thank you.
Parsley works very well with...@sensegot<br />Thank you.<br /><br />Parsley works very well with large complicated projects.<br /><br />One thing that is important is that Parsley itself does not focuses on any particular architecture, so you are still free to handle things however you find convenient.<br /><br />That said, for large projects, an MVC architecture might be a good idea, which Parsley easily pulls off.<br /><br />One really nice thing about Parsley though is that you really don't have to use Flex's bindings to bind your views to your data models. You can use Parsley's messaging to update views more efficiently.<br /><br />Overall you can dramatically reduce the need for Bindings while using Parsley.<br /><br />When you say "a lot of complicated item renderers" what is "a lot"? 100s? All on display at the same time? Can they be cached if there are only a few on display so only a few are bound at a time?<br /><br />There is always a price to pay. :) Parsley let's you disassociate (decouple) your code, and doesn't forces you to any particular pattern, which means that if you don't set a pattern yourself, you will have a really hard time following your project in the future, specially if it's big, and you do things differently all over the place.<br /><br />Performance wise, Parsley is very efficient.<br /><br />It is a bit hard for me to give you more specific answers without having more knowledge of your app.Arthttps://www.blogger.com/profile/02704202971467350834noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-19208050173461869572011-03-25T11:44:44.356-06:002011-03-25T11:44:44.356-06:00Thank you for a great series. What is the impact o...Thank you for a great series. What is the impact of using data binding and Parsly on large and complicated projects (a lot of complicated item renderers). In my recent work I have tried to avoid using binding (i.e. in skin classes, which get to be used a lot) in hope it would prevent processing overhead.<br /><br />Is there a price to pay for using all of this?Anonymoushttps://www.blogger.com/profile/05277080120875348853noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-74083543880485841832011-01-27T04:30:34.494-06:002011-01-27T04:30:34.494-06:00Really nice writeup! Should have discovered that e...Really nice writeup! Should have discovered that earlier.<br /><br />Also having problems with modules. We'd like to implement a plugin mechanism in our application but I can't get the contexts correctly wired.Robnoreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-89797898423643543082011-01-09T07:28:08.182-06:002011-01-09T07:28:08.182-06:00Thanks,
Great suggestion. I'll add that one ...Thanks,<br /><br />Great suggestion. I'll add that one shortly.Arthttps://www.blogger.com/profile/02704202971467350834noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-86440054257085574092011-01-07T09:19:37.147-06:002011-01-07T09:19:37.147-06:00Great posts!
Planning any posts on modules or pop...Great posts! <br />Planning any posts on modules or popups?<br />I'm struggling with getting a module loaded into a popup to work with Parsley...Morgannoreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-30105215575210391152010-12-27T09:50:26.640-06:002010-12-27T09:50:26.640-06:00Thank you.Thank you.Arthttps://www.blogger.com/profile/02704202971467350834noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-25984699779008923342010-12-25T08:09:32.476-06:002010-12-25T08:09:32.476-06:00nice post, very clear clarification, thanksnice post, very clear clarification, thanksAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-69514786997878937802010-12-10T16:14:51.028-06:002010-12-10T16:14:51.028-06:00ThanksThanksArthttps://www.blogger.com/profile/02704202971467350834noreply@blogger.comtag:blogger.com,1999:blog-2105870033801572606.post-9081120735450161482010-12-10T13:06:38.039-06:002010-12-10T13:06:38.039-06:00Great posts.Great posts.Anonymousnoreply@blogger.com