Yeah I understand how different the flavors are now. I didnt invent the triangular flow paradigm of my framework, I read it in a book.
Lots of books, lots of 'spirits' In the end it's just another 3 letter acronym. Ross P. Sclafani Owner / Creative Director Neuromantic Industries http://www.neuromantic.com http://ross.sclafani.net http://www.twitter.com/rosssclafani 347.204.5714 On Feb 24, 2012, at 4:45 PM, "Merrill, Jason" <jason.merr...@bankofamerica.com> wrote: > No rules, you're right, just having the controller manipulate data just seems > to go against the "spirit" of what MVC is all about. Controllers are usually > used as communication busses in my experience. > > Jason Merrill > Instructional Technology Architect II > Bank of America Global Learning > > > > > > _______________________ > > > -----Original Message----- > From: flashcoders-boun...@chattyfig.figleaf.com > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Ross Sclafani > Sent: Friday, February 24, 2012 4:29 PM > To: Flash Coders List > Subject: Re: [Flashcoders] MVC style Correction > > Apparently there are no rules. > > Just call it MVC and it's MVC I guess. > > > > Ross P. Sclafani > Owner / Creative Director > Neuromantic Industries > http://www.neuromantic.com > http://ross.sclafani.net > http://www.twitter.com/rosssclafani > 347.204.5714 > > On Feb 24, 2012, at 10:15 AM, "Merrill, Jason" > <jason.merr...@bankofamerica.com> wrote: > >> Maybe I'm off, but I don't think the controller should manipulate data. >> >> Jason Merrill >> Instructional Technology Architect II >> Bank of America Global Learning >> >> >> >> >> >> _______________________ >> >> -----Original Message----- >> From: flashcoders-boun...@chattyfig.figleaf.com >> [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of >> Mattheis, Erik (MIN-WSW) >> Sent: Thursday, February 23, 2012 8:26 PM >> To: Flash Coders List >> Subject: Re: [Flashcoders] MVC style Correction >> >> "Ross Sclafani" <ross.sclaf...@gmail.com> wrote: >> It is very easy to locate any code in one of my projects by ascertaining the >> domain of the code in question and looking in the appropriate branch. >> Does it store data? It's in the model. Does it interpret and display data? >> Try your views. Does it manipulate data? Look in the controller. >> >> This thread has been useful, thanks all. I've a ton of questions regarding >> judgment calls and below I post a class illustrating a few I've struggled >> with. The comments are intended to be my questions/admissions of bafflement. >> I'm unsure where in a MVC this class should go as its main purpose is to >> work with the File class which itself has methods which retrieve >> (File.applicationDirectory), interpret (File.exists) and display >> (File.browseForOpen) data. >> >> The class also is a dreaded example of allowing the view to listen directly >> to the model for events, perhaps only because I've misguidedly decided to >> make it part of the model as it has to do with copying and deleting a SQLite >> file used in the app. >> >> package mvc.model { >> /* saveFileAs() saves a copy of a SQLite DB for the purposes of >> transferring data to an instance of this app on another computer. >> >> closeDBAndReplace() = replaces the db file if the user is importing data. >> */ >> import flash.events.EventDispatcher; >> import flash.events.Event; >> import flash.filesystem.File; >> // class Data works with a SQLite DB >> import mvc.model.Data; >> // Where in a MVC should custom event classes // be located? I wish to pass >> my own objects // along with events, usually "Transfer Objects" >> // or a string to be displayed >> import mvc.controller.CustomDataEvent; >> >> public class ManipulateDBFile extends EventDispatcher { >> >> private var _data:Data; >> private var _sourceFile:File; >> private var _copyToDirectory:File; >> >> public function ManipulateDBFile(data:Data) { >> _data = data; >> } >> >> public function saveFileAs() : void { >> var docsDir:File = File.desktopDirectory; >> // This creates a UI element. I would look for this code in the view! >> docsDir.browseForDirectory('Save File in ...'); >> // This is asking a UI elemt to inform the Model directly. Big bad no? >> docsDir.addEventListener(Event.SELECT, copyFile); } >> >> private function copyFile(e:Event):void { >> _sourceFile = File.applicationStorageDirectory.resolvePath("msgDB.db"); >> _copyToDirectory = e.target.resolvePath("msgDB.db"); >> if (_copyToDirectory.exists) { >> // Passing this event through the Controller seems to create complexity, >> // or at least unnecessary lines of code. Is there an advantage gained by >> // communicating to the view through the controller here? >> var evt:CustomDataEvent = new >> CustomDataEvent(CustomDataEvent.FILE_ALREADY_EXISTS); >> dispatchEvent(evt); >> } >> else { >> replaceFile(); >> } >> } >> >> public function replaceFile() : void { >> var evt:CustomDataEvent = new >> CustomDataEvent(CustomDataEvent.COPY_COMPLETE); >> try { >> _sourceFile.copyTo(_copyToDirectory, true); >> dispatchEvent(evt); >> } >> >> catch (error:Error) { >> evt.param = error.message; >> dispatchEvent(evt); >> } >> _sourceFile = null; >> _copyToDirectory = null; >> } >> >> public function closeDBAndReplace() : void { >> // The file cannot be deleted if there is a SQLConnection to it. >> // The class that is aware of a possible connection also does the >> // deletion. But deleting the file seems to conceptually >> // fit into this class better >> _data.addEventListener(CustomDataEvent.DRILL_RESET, findFile, false, 0, >> true); >> _data.deleteDBFile(); >> >> } >> >> private function findFile(e:CustomDataEvent) : void { >> _data.removeEventListener(CustomDataEvent.DRILL_RESET, findFile, false); >> var docsDir:File = File.desktopDirectory; >> docsDir.browseForOpen('Select msgDB.db file ...'); >> docsDir.addEventListener(Event.SELECT, replaceDBFile); } >> >> private function replaceDBFile(e:Event):void { >> var sourceFile:File = e.target as File; >> var destination:File = >> File.applicationStorageDirectory.resolvePath("msgDB.db"); >> try { >> sourceFile.copyTo(destination, true); >> dispatchEvent(new CustomDataEvent(CustomDataEvent.RESTART_REQUIRED)); >> } >> catch (error:Error) { >> trace("Error:", error.message); >> } >> } >> } >> } >> >> On 2/17/12 6:07 PM, "Ross Sclafani" <ross.sclaf...@gmail.com> wrote: >> It is very easy to locate any code in one of my projects by ascertaining the >> domain of the code in question and looking in the appropriate branch. >> Does it store data? It's in the model. >> Does it interpret and display data? Try your views. >> Does it manipulate data? Look in the controller. >> >> >> >> _ _ _ >> Erik Mattheis | Weber Shandwick >> P: (952) 346.6610 >> M: (612) 377.2272 >> _______________________________________________ >> Flashcoders mailing list >> Flashcoders@chattyfig.figleaf.com >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> ---------------------------------------------------------------------- >> This message w/attachments (message) is intended solely for the use of the >> intended recipient(s) and may contain information that is privileged, >> confidential or proprietary. If you are not an intended recipient, please >> notify the sender, and then please delete and destroy all copies and >> attachments, and be advised that any review or dissemination of, or the >> taking of any action in reliance on, the information contained in or >> attached to this message is prohibited. >> Unless specifically indicated, this message is not an offer to sell or a >> solicitation of any investment products or other financial product or >> service, an official confirmation of any transaction, or an official >> statement of Sender. Subject to applicable law, Sender may intercept, >> monitor, review and retain e-communications (EC) traveling through its >> networks/systems and may produce any such EC to regulators, law enforcement, >> in litigation and as required by law. >> The laws of the country of each sender/recipient may impact the handling of >> EC, and EC may be archived, supervised and produced in countries other than >> the country in which you are located. This message cannot be guaranteed to >> be secure or free of errors or viruses. >> >> References to "Sender" are references to any subsidiary of Bank of America >> Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are >> Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a >> Condition to Any Banking Service or Activity * Are Not Insured by Any >> Federal Government Agency. Attachments that are part of this EC may have >> additional important disclosures and disclaimers, which you should read. >> This message is subject to terms available at the following link: >> http://www.bankofamerica.com/emaildisclaimer. By messaging with Sender you >> consent to the foregoing. >> _______________________________________________ >> Flashcoders mailing list >> Flashcoders@chattyfig.figleaf.com >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > ---------------------------------------------------------------------- > This message w/attachments (message) is intended solely for the use of the > intended recipient(s) and may contain information that is privileged, > confidential or proprietary. If you are not an intended recipient, please > notify the sender, and then please delete and destroy all copies and > attachments, and be advised that any review or dissemination of, or the > taking of any action in reliance on, the information contained in or attached > to this message is prohibited. > Unless specifically indicated, this message is not an offer to sell or a > solicitation of any investment products or other financial product or > service, an official confirmation of any transaction, or an official > statement of Sender. Subject to applicable law, Sender may intercept, > monitor, review and retain e-communications (EC) traveling through its > networks/systems and may produce any such EC to regulators, law enforcement, > in litigation and as required by law. > The laws of the country of each sender/recipient may impact the handling of > EC, and EC may be archived, supervised and produced in countries other than > the country in which you are located. This message cannot be guaranteed to be > secure or free of errors or viruses. > > References to "Sender" are references to any subsidiary of Bank of America > Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are > Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a > Condition to Any Banking Service or Activity * Are Not Insured by Any Federal > Government Agency. Attachments that are part of this EC may have additional > important disclosures and disclaimers, which you should read. This message is > subject to terms available at the following link: > http://www.bankofamerica.com/emaildisclaimer. By messaging with Sender you > consent to the foregoing. > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders