Synergy is still be worked on, i've gotten some outside help as my vision vs time tends to get screwd up. Its low priority as i didn't get much of an interest from folks and figured i was wasting my time? (current version is up to like 1.8.43)
I prefer cairngorm when not playing with Synergy. Scott On 8/6/05, Steven Webster <[EMAIL PROTECTED]> wrote: > Hi Jesse, > > Thanks for your response! > > -- > However, I still think ARP is lighter weight; I define light weight as "more > files = more heavy". ARP doesn't have ViewLocators, ViewHelpers, > ModalLocator, etc. > -- > > OK, I think we should be careful here then ... conventionally, developers > will talk about a heavyweight framework as one that imposes upon the > application developer. A framework with less classes isn't lighterweight, > it's smaller. > > Pedantic perhaps, but I'd be loathe to have newbies think that something is > heavyweight, where in actual fact it just has a few more classes in a ZIP > file. And to be honest, if we started counting marker interfaces and > ArpForm classes/etc, I'd be surprised if there aren't more files in ARP than > Cairngorm, and hence, by your definition, it's "more heavyweight" :) But > that'd be silly :) > > -- > My point is ViewHelper and ViewLocators; I don't see the point of > abstracting that away; Commands work just fine for dealing with the > deatails. > > I get my data from data services and stick it in ModelLocator; would I not > do the same for a RemoteObject call? Get the data and hang it there for > Commands to grab? > -- > > Yes! The idea of ModelLocator is that however state is updated > (client-side, local shared object, RemoteObject, WebService, HTTPService) > the result of that data service is an update of state (in the ModelLocator). > So the application is oblivious to the implementation of the data services, > it simply binds view to model. > > This is absolutely our recommendation as to how you handle data that is > returned, and make it available for the view. With Cairngorm 0.99, we > absolutely stated that developers should use the ModelLocator strategy as > much as possible over using ViewHelpers to push data onto the view (and I > mean this irrespective of how you choose to implement the ViewHelper, either > as a class of getters/setter, a code-behind class, etc). > > This allows us to advocate that the ViewHelper is now simply a class that > allows us to manipulate and massage data before it is presented on the view. > Perhaps data is returned in a raw or unproceesed format from a service, but > we wish to clean it up in some way for presenting to the user; we'd use a > ViewHelper to do this preparation of the model for the View. > > To put this into perspective; on a Cairngorm 0.99 architecture, we now have > VERY few view helpers in our application, due to the elegance of the > ModelLocator and the leveraging of data binding. > > But the thinning out of ViewHelpers isn't because there's something > fundamnetally wrong with the strategy of keeping knowledge of the View out > of commands; it's because the strategy of using data-binding for model->view > notification removes many of the development problems for which the > ViewHelper was proving to be an appropriate and recurring solution. > > ---- > >>>>> > So rather than a Command class have to know to do: > > _root.mainScreen.addressBook.addressEntry.forename.text = result.forename; > > The Command class could instead say: > > AddressBookViewHelper.setForename( result ); <<<<< > > See, I see no problem with that; to me, that's a Command's job, and if he > can't take the heat, and needs another class to deal with extra typing... > good for him. For me, I'm fine with it. > ---- > > I think this maybe underlies another key point then Jesse ... you own the UI > design and development *and* the application development. We're working on > projects right now where there are 20-30 Flex developers, each of whom are > collectively sharing a codebase -- it's not typical for us to be doing > single-person projects. In these instances, the typical developer of a > command class doesn't want or need to understand the inter-relationship of > MXML files, how someone else has chosen to componetise and structure things, > or built from forms or movieclips. They don't want their commands breaking > when someone refactors a Repeater to a List and a Cell Renderer, and the > component hierarchy changes. They simply want to say "we have data to > update" and assume that the view that relies upon the data will update > accordingly, irrespective of it's implementation. > > In the Breeze presentation that's out there where I talk about architecting > Flex applications (the talk I gave at MAX last year when we announced > open-sourcing Cairngorm) we defined the term "Enterprise RIA" as the tipping > point for which you should consider the use of a microarchitecture like > Cairngorm. I gave a number of indicators as to when you might be working on > an Enteprise RIA, from memory these included: > > o A large number of developers working on the project > o A large number of use-cases in the applications (10s or 100s) > > The motivation for the Command pattern is to offer scalablity in the > handling of user-gestures, and to simplify the actioning of business logic > in response to a number of different user gestures. So by ensuring that a > keyboard shortcut, a doubleclick in a datagrid, the pressing of a toolbar > button or the selection of a menu item ALL broadcast the same event, we can > invoke a single command. > > The commands *need* not know about the view, and certainly one of our > motivations in using this design pattern, is that an application developer > can code the command without knowing the structure of the view. Oftentimes, > the view and the command are written by different teams of developers, and > increasingly (as designers become as comfortable producing MXML as they did > HTML) by different skills of developers. > > Irrespective, if it works for you, it works for you. But as a generic > architectural practice, we find when consulting that the removal of the > knowledge of the implementation of the view from the commands, makes it > easier for developers to join a project and become productive quickly in the > collaborative development of that project (that's why we say that using the > design patterns from Cairngorm will improve scalability and maintainability > of the project). > > -- > I don't recall calling it evil, but if I did, I mis-spoke. I do not > understand it, cause again, my Views don't change, and if they do, I'm not > nesting movieclips; I'm just calling getters and setters, and our dev cycle > is short, so having to change 5 lines of code because of a simple form name > change isn't a big deal; again, hard for me to see the justification in such > short projects. > -- > > Agree entirely -- in your case, it's a design/development decision that you > can make, and for which you're comfortable with the implications of the > trade-off. > > I wouldn't advocate that as a general best-practice however, for large-team > large use-case developments where I'd be *really* recommending the use of a > framework such as Cairngorm. > > Anyway - thanks for the discussion, I think it's valuable to raise these > things up for people to understand. > > Best wishes, > > Steven > > -- > Steven Webster > Technical Director > iteration::two > > This e-mail and any associated attachments transmitted with it may contain > confidential information and must not be copied, or disclosed, or used by > anyone other than the intended recipient(s). If you are not the intended > recipient(s) please destroy this e-mail, and any copies of it, immediately. > > Please also note that while software systems have been used to try to ensure > that this e-mail has been swept for viruses, iteration::two do not accept > responsibility for any damage or loss caused in respect of any viruses > transmitted by the e-mail. Please ensure your own checks are carried out > before any attachments are opened. > > > > > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com > Yahoo! Groups Links > > > > > > > -- Regards, Scott Barnes http://www.mossyblog.com ------------------------ Yahoo! Groups Sponsor --------------------~--> <font face=arial size=-1><a href="http://us.ard.yahoo.com/SIG=12h8mdit1/M=362131.6882499.7825260.1510227/D=groups/S=1705007207:TM/Y=YAHOO/EXP=1123336030/A=2889191/R=0/SIG=10r90krvo/*http://www.thebeehive.org ">Get Bzzzy! (real tools to help you find a job) Welcome to the Sweet Life - brought to you by One Economy</a>.</font> --------------------------------------------------------------------~-> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/