AhmedTarekHasan / WhenImplementationsAffectAbstractions

Could the knowledge of implementations affect abstractions design?

Home Page:https://www.developmentsimplyput.com/post/when-implementations-affect-abstractions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When Implementations Affect Abstractions

Could the knowledge of implementations affect abstractions design?


If you ask a developer if the knowledge of the available implementations could affect his abstractions design, most probably he would say: No, if this happens then my knowledge of the system is not enough for designing the abstractions.


At some point on my career as a Software Engineer, I would have agreed with this. Actually, I would have provided the same answer if someone asked me the same question.


However, on more than one occasion I came across some solutions which made me change my mind on this.


Long story short, yes, you need to understand your system and the capabilities that should be provided by each module to be able to design your abstractions. However, this is not enough.


Exploring some of the possible implementations could help you enhance your abstractions.


Ok, let’s say that your knowledge of the system you are designing and all its interactions is a part of your job and you actually need it to do your job. However, being creative about building this knowledge is something else.


What we are discussing now is how to build this knowledge. One of the best and creative ways is that once you have an abstraction in mind, you try to explore the possible implementations. This would put your mind in an effective state that would help you link too many loose ends.


If you are interested into reading more about this topic, you can read the rest of the article.


If you want to support me:

▶ Subscribe to Medium using my referral link
▶ Subscribe to Medium Newsletter
▶ Subscribe to LinkedIn Newsletter
▶ Follow me on Medium
▶ Follow me on Twitter
▶ Follow me on LinkedIn


Authors: