"The Data Access layer should be in its own project", was one of the points that I came across during a discussion with another architect from my team. The reasoning was that if it is separate, it wouldn't impact the service using it. While on the surface the logic seems sound, do we ever stop and think, hmm do we really need to introduce this complexity? How many times do we see us switching from SQL Server to Mongo DB? Is the additional complexity and work really worth it?
Software Developers, especially those from object oriented language background (C#, Java, etc.) tend to love complexity. I too have been guilty of the same. But recently I came across a tweet which made me pause and take notice.
Software Developers, especially those from object oriented language background (C#, Java, etc.) tend to love complexity. I too have been guilty of the same. But recently I came across a tweet which made me pause and take notice.
.NET folks take a look. Remember that not everything has to be 150 projects and many layers. Imagine a complexity slider bar and sync it to YOUR business needs. Make it as simple or as sophisticated as you need. https://t.co/UujO05oWEb— Scott Hanselman (@shanselman) February 9, 2020
One should always follow SOLID principles while developing but also keep in mind the practicalities of the situation. Not all of us are developing the next Netflix, mostly we are just putting data over text boxes.
Managing complexity and your itch to create a truly flexible software is a balancing act. My advice would to keep it simple and match your needs not some lofty version of ideal software that you have in mind.
Comments
Post a Comment
As far as possible, please refrain from posting Anonymous comments. I would really love to know who is interested in my blog! Also check out the FAQs section for the comment policy followed on this site.