In this five-part series, I’m covering each design principle laid out in SOLID. In this final post, I am covering the dependency inversion principle. The “D” in SOLID is a pretty well understood principle. It is supported by a variety of platforms, including Angular. The code below shows how it is implemented using Angular. The…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Interface segregation principle. The “I” in SOLID is a principle that is easy to skip over. Everyone will always remember the “S”, because it is first. The “L” is easy to remember because it is…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Liskov substitution principle. Now is when things get interesting: program to an interface that can be implemented by many services. The Liskov substitution principle (LSP), created by Barbara Liskov, says we can substitute one service…
Read more…
In this five-part series, I’m covering each design principle laid out in SOLID. In this post, I am covering the Open / Closed principle. The Open / Closed principle is hardest to argue for. In our SOA (service-oriented architecture) world, we try to avoid using inheritance as a method to change behaviors. We would tend…
Read more…
SOLID is an acronym created by Robert Martin (Uncle Bob) to describe five principles we should follow to make software designs more understandable, flexible, and maintainable. In general, these are very good guidance. While I don’t think the acronym is perfect and I don’t really focus on the open / closed principle, I do think…
Read more…
Azure Functions fit a nice slot: for times when you don’t want to deploy much but want a little bit of logic in the cloud. There’s another feature that really gives Azure Functions some legs: you can proxy request to blob storage. This might not seem like a big deal, but it is a game…
Read more…
For the last couple of years, I have spent a significant amount of time talking to innovators both independent (entrepreneurs) and inside of organizations (intrapreneurs?). The conversations generally focus on a variation of these familiar themes: Uber for … Ebay for … Facebook for … Computer vision to … Artificial Intelligence / Machine Learning to…
Read more…
Last week we launched the “Whatever Bill Has” app, which I built as a demonstration of Azure Functions. This app is basically Build-A-Bear, but with Bill Udell. Users had eight possible options: four shirts and two pants. Bill was gracious enough to provide us with some great shirt and pants options. He also chose a…
Read more…
Those of us who are engineers know we aren’t looked up to for our fashion sense. We tend to be t-shirt and jeans people, or sometimes t-shirt and sweatpants people. Now this isn’t a sign of anything wrong, but I often feel engineers are just focusing a little too much on the function. I think…
Read more…
In my first post, I wrote about the responsibilities, goals, and struggles that development teams are facing today. In this post, I am covering our experiences and how we must take a bigger picture look at how we’re working in a world of constantly changing requirements. Our Experience So, I seemed to paint a lot…
Read more…