Principles in Object-Oriented Programming

In the object-oriented programming world, the famous acronym SOLID covers the five principles of OO. The letters signify the following:

  • O: Open-Closed Principle
  • L: Liskov Substitution Principle
  • I: Interface Segregation Principle
  • D: Dependency Inversion Principle

These five principles govern the structure of…

Creational Design Patterns

Object-Oriented Design Patterns

OO Design patterns are reusable templates for solutions to common problems in software development. By themselves, these design patterns are not final solutions. Instead, they serve as frameworks that, when fleshed out, are applied to software problems. In object-oriented programming, these patterns are data and behavioral structures…

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
-John Woods

I have always enjoyed this quote because it powerfully communicates the importance of writing code well. Well-written code is both intelligible to other coders and computationally…

Using TDD to improve your code and the Software Development LifeCycle

TDD’s upsides

If you have been researching the QA side of software development, you have most likely come across articles singing the praises of TDD. There is no shortage of leaders in the industry applauding the upsides of integrating TDD into…

Find All the Permutations of a Set of Elements

A classic technical interview question is finding the permutations of characters in a string. This string problem is a subset of the challenge of finding all the permutations of elements in a set. One of the most common algorithms to tackle…

Finding Prime Numbers from 1 to n

Sieve of Eratosthenes is one of the most ancient algorithms dating from the 2nd century in ancient Greece. Old does not mean obsolete, however. This algorithm is still relevant today, being a space and time-efficient way to find prime numbers. The idea is…

Adam Shaffer

A full-stack software developer who likes writing about tech.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store