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.
Best Practices, Design Patterns, Learn This, Opinion, tutorial
Alright designers, lets get one thing straight. I don’t like you and you don’t like me. You design components that are either a)impossible/painstakingly difficult to build or b) has more transitional effects that even make a mac snob would vomit. Dare I complain? Too bad. The client already signed off on it and they loved it. Guess what though, jokes on you! Following my typical fashion, I have made it as easy to style as you have to build it. TAKE THAT EDGY COOL GUY(or girl)!.
Unfortunately, this vicious circle doesn’t help you and it doesn’t help me. You can call me lazy and I can call you a moron but it leads us to the same spot. With this in mind, I’ve recently decided to extend the olive branch. I have sat down with one of the main designers at my job and asked “What can I do to my components that will make your job easier?”. With a warm smile, he thanked me and gave me some good tips on how I can make not just his life easier, but also make my components just that much more versatile.
Best Practices, Flex, Opinion, Random Notes, tutorial