Abstraction is widely used tool for SW Architect

Today I will focus more on Abstraction?

Why abstraction is very handy tool to the SW Architect?

Just Explaining with Example?

Component A is dependent on Component B

Scenario:

Since component A is dependent on component B, so changing component B is also impacting the Component A. When you see this problem with developer context, you will feel that there is no issue in it.

But when you see this as an SW Architect perspective than you will see that changing in dependent model is ok until the Impact area is narrowed to only dependent and very local to interaction boundary

I mean to say here that your implementation is abstracted such a way that your change is literally squeezed into adapter layer only. As much as your design is localized into adapter layer your design is good to go…

Many people called this as an Adapter Pattern or Wrapper Layer etc.

Many problems in this scope are solved by just introducing abstraction in your design.

This is especially useful for improving your code quality in terms of maintainability of your code.

Generalization is also an example of abstraction.

Many Design Patterns are usually using this abstraction in their implementation.

--

--

Abinash Mishra | 22+ Years Exp in S/W Dev

My primary area of interest lies in the design and architecture of software products.