Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an brief synopsis of the Null Object Pattern in its sixth chapter. Pluralsight's Design Patterns Library course has a module on the Null Object Pattern from David Starr. Why should I use the Null Object Pattern? Null checks are annoying, but they're very prevalent in many programs, and they can really clutter up your code…
Keep Reading →
Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an excellent explanation of the Singleton Pattern in its fifth chapter. Pluralsight's Design Patterns Library course also has a great module on the Singleton Pattern by Steve Smith. Steve Smith also has a good synopsis of the pattern in one of his blog posts. Note: I should mention that many developers, for good reason…
Keep Reading →
Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an excellent explanation of the Factory Pattern in its fourth chapter. Pluralsight's Design Patterns Library course also has a great module on Factory Patterns from David Starr. The Factory Pattern is actually a name given to several different patterns: Simple Factory Pattern, Factory Method Pattern, and Abstract Factory…
Keep Reading →
Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an excellent explanation of the Decorator Pattern in its third chapter. Pluralsight's Design Patterns Library course also has a great module on the Decorator Pattern from Brian Lagunas, where he clearly explains the use of the Decorator Pattern. While inheritance is good for extending objects' functionality at design time…
Keep Reading →
Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an excellent explanation of the Observer Pattern in its second chapter. John Brown also has a Pluralsight module on the Observer Pattern in the Strategy Patterns Library course. Why use the Observer Pattern? It is not at all uncommon in object-oriented programming to run into a situation where you have an object in your code…
Keep Reading →
There are many, many, many ways to add search capability to your website. I implemented pretty much the most quick-and-dirty approach here, though I may try to update it in the future. All I did was add an HTML form with the Action attribute to my site's footer. The input links to a Google search of just the ilyana.dev site. You can see my code here. If you're looking to learn more about the HTML…
Keep Reading →
You can view my previous post on a Strategy Pattern course I watched on Pluralsight here. Head First Design Patterns by Eric Freeman and Elisabeth Freeman provides an excellent explanation of the Strategy Pattern in its first chapter. David Starr also has a very informative module on the Strategy Pattern in the Pluralsight Strategy Patterns Library course. Why use the Strategy Pattern? When using…
Keep Reading →
The String Calculator Kata is a great kata for practicing test-driven development. In this kata, you spend 30 minutes trying to complete as many of the 9 sections as possible, but the idea is that you never read ahead - only read the step you're on. You can view the instructions here. This attempt, I got through 5 sections. That's the same number as last time, but I was able to get some work done…
Keep Reading →
To see my original post on adding an RSS feed to your Gatsby Site, click here. To see my post on limiting the number of items in your RSS feed, click here. If you use an RSS Reader... You can add my blog by pasting the following URL into your reader: https://ilyana.dev/rss.xml Adding Autodiscovery Adding RSS autodiscovery to a Gatsby blog that already has an RSS feed requires minimal effort - the…
Keep Reading →
The instructions and source code for the kata can be found here. This kata took me over an hour, since I've never done anything with the Builder pattern before. However, after completing this kata, I now understand the Builder Pattern and its applications far more than I did previously, even after watching several videos and reading several articles about it. If you'd like to see my code from this…
Keep Reading →