Archive for the ‘Learn This’ Category

Know your Flex interfaces

May 18th, 2009

One of the things I love about Flex is how extensible it can be. You are able to make composite components to do almost anything you want using out of the box components. However, if you really want to take advantage of its power, it helps to have a good or in depth knowing of the interfaces that come with it. The reason to proclaim the importance is that using these interfaces, you will be able to create extremely light weight components, but you will be able to make them do whatever you want (in a programming sense of the phrase).

There are, of course, quite a few different interfaces. I have looked through them and picked out five interfaces that I consider to be the more important ones. For each, I will give a brief explanation of why they are important and where you would normally use them.
Read more…

Best Practices, Flex, Learn This , , ,

Learn this: Strategy pattern vs Decorator pattern

May 10th, 2009

As mentioned in a previous article, one thing I like to do when giving interviews is throwing out a curve ball. A standard type of questions I like to ask about are design patterns. Normally I will ask them to describe a specific pattern and seeing that both Strategy patterns and Decorator patterns are pretty common, I will ask about those. Most of the time, they can answer at least one of those. Whenever they answer both, I like to throw in the ‘Describe the difference between them and when you would use them.’

I ask this normally because it is kind of a gray area. Well maybe gray area isn’t the correct phrase, but they are strikingly similar*. They both encapsulate and delegate the behavior of the classes. They both encourage composition. Both are great alternatives to inheritance. And they both allow for new behaviors to be easily added to existing classes. With all the similarities, its hard to see where they differ, making it a great question to ask in an interview.
Read more…

Best Practices, Design Patterns, Learn This, Opinion, tutorial , , , ,

An indepth look at Flex Events

March 2nd, 2009

One of the great things about I love about Flex is that it is fairly close to writing a desktop application. You can, for the most part, even take a Flex application and publish it as an AIR application for your desktop. In my opinion, one thing that makes it extremely similar is the way it handles Events. Its all about the eventListeners. As we all know, it is never as easy as adding an eventListener in one spot and a eventHandler in another. Within this article, I want to discuss how to add and handle eventListeners, dispatching them, how to stop event from propagating, difference between a target and a currenttarget, and the ever important thought of when to remove events.
Read more…

Best Practices, Flex, Learn This, Opinion, Random Notes, tutorial , , ,

Learn This: When and how to make Immutable objects

February 24th, 2009

It can be sometimes difficult to see why someone would want to create an immutable class. We as programmers LOVE to be in control of things, which is what immutable classes limit us to. So what is an immutable class? An immutable class is a object who can not change once it is initialized. All values of that object are fixed and will not change throughout the lifetime of that object. While it may sound like something we dont want, in this article, I will discuss how to make an object immutable and I will also talk about when to use and not use them.
Read more…

Best Practices, Learn This, Opinion , , ,

Learn This: When to use an Abstract Class and an Interface

February 12th, 2009

For some odd reason, work allows me to handle phone screens and interviews. Each time I give an interview, I try to do three things. First I ask them about general programming questions. This might be OO questions. It might be methodology questions. It might be design pattern questions. Next I like to ask them more specific technologies questions, such as questions “how do you do ABC in Flex? Java?”. Lastly I want to know what they do in their spare time. What books they read? Do they code outside of work? How they go about researching new technologies? Etc.
Read more…

Best Practices, Learn This, Opinion, tutorial , , ,