RE: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
I also recommend downloading an Enterprise Architect trial http://www.sparxsystems.com/ or Poseidon Hmmm, I think however that software like Enterprise Architect is far too complex and requires at least minimal UML knowledge for someone just trying to wrap their head around OOP. It's a great tool, but very overwhelming to someone just trying to get the basics of OOP down. I would at least get the basics of UML down first before downloading that tool. Jason Merrill Bank of America Learning Organization Effectiveness - Technology Solutions ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
Hi David, Like you, I didn't have any previous programming experience when I started using ActionScript. I *think* I'm now pretty nifty with my OOP but still feel like I have oodles to learn when it comes to structuring more complex app's in a good way. I'd echo the suggestions of learning a few designs patterns and the one I swear by is MVC (which I learnt from Moock's EAS 2.0) as I find it really helps me to divvy up code into classes that group tasks together in a logical way. I've also found that adhering to the principles of the MVC pattern helps me to write code that is much more flexible and scalable. That said, I've also found that it is easy to start overusing MVC and suddenly you've got a bunch of classes where you probably only need one or two! I'm still learning when MVC is good and when it's a mallet to crack a nut. I've also tried to get my head around UML on several different occasions. I'm not sure if I'm reading the wrong books or trying to learn too much too quickly but UML is the one thing that does my brain in! So far I've found developing class structures organically has been sufficient for the sizes of projects I typically work on but I always find myself wanting to refactor the whole thing when it's complete (I guess that goes with the territory!). On my most recent project I decided to use Grant Skinner's GModeler ( http://www.gskinner.com/gmodeler/) simply to create a basic, conceptual model of my class structure before writing any code. I purposefully didn't go into much detail - just a few core methods and properties per class to establish their key responsibilites. I found I was able to come up with what seemed like a decent class structure fairly quickly and somehow I found myself quickly solving some of the bigger issues I would have encountered had I written the classes organically. As I started writing the code, the class structure naturally started evolving to a point where the structure differed fairly significantly from my class diagram but I am still using the diagram to remind myself of the principles and duties I worked out at the start. I shall try using this approach a few more times and may then take another stab at some more complex UML...gulp! HTH in some small way. A. On 8/18/06, David Bellerive [EMAIL PROTECTED] wrote: Hi everyone! I'm having real difficulty understanding how to properly architect and structure Flash applications using ActionScript 2.0. I've read Colin Moock's excellent Essential ActionScript 2.0 and several other books and articles on the topic and while I can safely say that I do understand the syntax, I can't seem to write an entire application using OO design mainly because I can't figure out what should be in a class, which class should do what, which class should extend MovieClip, which class should use composition instead, which class should start the application, etc. I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. Any help / tips ? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript (James Marsden)
Joe, that sounds like a really useful approach. I imaging it gets you on the right track with distinct objects and duties. The way I understand MVC, I'd guess that you'd use MVC to implement the *nouns* (if it seemed appropriate). i.e. Pacman might have a model to store his state (e.g. location, powerups e.t.c.) and a view to manage his visual display. In this case, the verbs would be divided between the model and view depending on whether they modified state or visual appearence. I'm going to try this out on my next project :) A. On 8/18/06, Joe Cutting [EMAIL PROTECTED] wrote: Back when I was at college studying CS we were taught that the way to decide which objects to use was to write a simple description of what your program should do. Then go through the description and find all the nouns - these are your main objects. You can also go through and find all the verbs, these are the some of the functions of those objects. This still seems to work pretty well. So, if your program description is- Pacman moves through a maze eating dots. Ghosts chase pacman. Every time pacman eats a dot the score increases Then your main objects are Pacman Maze Dot Ghost Score Some of your main functions are Pacman - move Pacman - eat Ghost - chase Score - increase Unfortunately I think this was before MVC became popular so I'm a beginner on that one too. My experience is that it works really well for editing data type programs like wordprocessors etc but its either more tricky/not worth the while for some presentation type applications. Cheers Joe Joe Cutting Computer exhibits and installations www.joecutting.com 96 Heslington Road, York, YO10 5BL 01904 627428 ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
Hey, It's a state of mind being able to separate tasks into object relationships that only becomes natural with time and practice. I learnt by following an AS 1.0 game tutorial*, transcoding to AS 2.0 as I followed it. That way I didn't have to think at all about the actual content or direction of the application, just the discreet members involved. If you learn on your own projects, you're able to take risks and waste time getting it wrong. Try picking a fairly large project you want to make for yourself (like a personal website or game). You could try some design pattern books, such as Headfirst Design Patterns: http://www.amazon.com/gp/product/0596007124/sr=8-1/qid=1155908772/ref=pd_bbs_1/103-3016282-6802220?ie=UTF8 I try to identify all of the different members of a system, and then scribble them down in a hierarchy diagram. Once you start developing, it's quite easy to evolve the design of the application, so you don't have to have everything set in stone before you begin. OOP development is so much easier and straightforward (compared to timeline based scripting) once you get the hang of it. Hope that helps! J *http://www.tonypa.pri.ee/tbw/start.html David Bellerive wrote: I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. Any help / tips ? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
RE: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
I used to feel that way too. And in fact, reading books like that are great, but they can also give you an overwhelming feeling of all you don't know. What I would do is this - start out slow. Don't feel like you have to do it by the book - that's just not possible until you gain some experience. Create a small class that replaces what one of your function did. Take several of the functions you write, and put them in a class and then use the class. After a while, by using the class to run your functions, you'll learn better how to structure classes and use more than one class. Don't feel like it has to be perfect. I think a lot of people don't dive in to Actionscript 2.0 classes because they think it's too complicated for them and they need to understand a whole lot before they use them, - neither of those arguments are very true IMHO. Some things you can only learn from actual experience. Swimming, skiing, paintball too. Jason Merrill Bank of America Learning Organization Effectiveness - Technology Solutions -Original Message- From: [EMAIL PROTECTED] [mailto:flashcoders- [EMAIL PROTECTED] On Behalf Of David Bellerive Sent: Friday, August 18, 2006 9:41 AM To: flashcoders@chattyfig.figleaf.com Subject: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript Hi everyone! I'm having real difficulty understanding how to properly architect and structure Flash applications using ActionScript 2.0. I've read Colin Moock's excellent Essential ActionScript 2.0 and several other books and articles on the topic and while I can safely say that I do understand the syntax, I can't seem to write an entire application using OO design mainly because I can't figure out what should be in a class, which class should do what, which class should extend MovieClip, which class should use composition instead, which class should start the application, etc. I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. Any help / tips ? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
One of the things that's fun about OOP design is that there is no single best solution to a problem. (Or perhaps another way of putting it is that there's always a beter way to solve your problem!) Sure there are best practices, and a book like Head First Design Patterns can help you understand those. But I find the whole process of creating an object-oriented design forces you to make a lot of creative decisions. That's why experience really matters. When I finish an OOP project, I'll often look back and evaluate what worked well and what didn't, and apply things that were successful to the next project. So don't cling to the idea that there's a single right way to do things, and just dive in, experiment, and have fun! -Adam -Original Message- From: [EMAIL PROTECTED] [mailto:flashcoders- [EMAIL PROTECTED] On Behalf Of David Bellerive Sent: Friday, August 18, 2006 9:41 AM To: flashcoders@chattyfig.figleaf.com Subject: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript Hi everyone! I'm having real difficulty understanding how to properly architect and structure Flash applications using ActionScript 2.0. I've read Colin Moock's excellent Essential ActionScript 2.0 and several other books and articles on the topic and while I can safely say that I do understand the syntax, I can't seem to write an entire application using OO design mainly because I can't figure out what should be in a class, which class should do what, which class should extend MovieClip, which class should use composition instead, which class should start the application, etc. I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. Any help / tips ? __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
I second James' recommendation of Headfirst Design Patterns. I also recommend downloading an Enterprise Architect trial http://www.sparxsystems.com/ or Poseidon http://gentleware.com/index.php and learning some UML. It helps me to step outside of the code and focus on the logic behind the business decisions. Understanding sequence diagrams (user clicks button, event is passed to manager, etc) first can help you sketch out class diagrams that eventually turn into really scalable systems. Then later, people can wade right in and add to it. Most important: try not to learn everything at once. Give your brain time to wrap around small chunks of new info. My .02 Mike ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
Re: [Flashcoders] Best way to learn OO Analysis and Design with ActionScript
I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. I'm not one of the pros here. I'm just another noob, lurking in his list to read some advanced coding practices ;-) Like you, I just started learning OO AS but I have previous coding experience in C++ and Java so I don't have much difficulties. Lately, I've been reading this book : Object Oriented Actionscript for Flash 8 Peter Elst, Friends of Ed and I can tell you, from my noob-ish point of view, that book is easy to read and the codes presented there are easy to follow. Another book that's helped me much in my journey : Object Oriented Thought Process, Matt Weisfeld, SAMS (I'm gonna buy Head First OO Analysis and Design in November) I agree with Jason that some things need real experience to master (including raising kids, I have 4.5 year experience in that matter ... lol ) and OOP is one of them -- Anggie Bratadinata Web|Graphic|Flash Jl. Raya Langsep 21 Malang - East Java I N D O N E S I A http://design.ibshastautama.com David Bellerive wrote: Hi everyone! I'm having real difficulty understanding how to properly architect and structure Flash applications using ActionScript 2.0. I've read Colin Moock's excellent Essential ActionScript 2.0 and several other books and articles on the topic and while I can safely say that I do understand the syntax, I can't seem to write an entire application using OO design mainly because I can't figure out what should be in a class, which class should do what, which class should extend MovieClip, which class should use composition instead, which class should start the application, etc. I'm sure a lot of excellent Flash developpers in this mailing list didn't have previous coding experience before they started Flash (like myself) and managed to become the ActionScript 2.0 OO pros aroud here. Any help / tips ? ___ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com