SOLID Principles with Scala

Table of contents
Reading Time: < 1 minute

It is quite evident what SOLID principles mean for class typed object oriented languages like Java. However, what do they mean for hybrid languages like Scala which merge the Object oriented and functional approaches. In this KnolX session, we tried to decipher what SOLID principles meant for Scala. Though much of what we know about them can be applied to Scala if we code in the Object oriented way with Scala. However, once we are in the functional boundaries then some of the principles like Liskov Substitution, Open Closed Principle have weak relevance in functional languages since these principles are based on inheritance. The Dependency inversion principle is also somewhat less relevant because functions can be passed in functional languages instead of dynamic binding. (Though I still feel that with injection concepts in Scala like the Cake Pattern, we get only half the job done and I miss the dynamic aspect of inject, but may be that is another discussion).

For now, enjoy the KnolX session slides and as always send your feedback to

Written by 

Vikas is the CEO and Co-Founder of Knoldus Inc. Knoldus does niche Reactive and Big Data product development on Scala, Spark, and Functional Java. Knoldus has a strong focus on software craftsmanship which ensures high-quality software development. It partners with the best in the industry like Lightbend (Scala Ecosystem), Databricks (Spark Ecosystem), Confluent (Kafka) and Datastax (Cassandra). Vikas has been working in the cutting edge tech industry for 20+ years. He was an ardent fan of Java with multiple high load enterprise systems to boast of till he met Scala. His current passions include utilizing the power of Scala, Akka and Play to make Reactive and Big Data systems for niche startups and enterprises who would like to change the way software is developed. To know more, send a mail to or visit

1 thought on “SOLID Principles with Scala1 min read

Comments are closed.