To couple your framework tighty or loosely, that’s the question!<\/p>\n
And here is my thought:<\/p>\n
The first answer straight away is – loosely coupled off course,<\/p>\n
Which is true, but how loosely?<\/p>\n
The answer would be highly dependent on the context and usage, so there is no single answer.<\/p>\n
Here are some general considerations to think about:<\/p>\n
– Configurability
\n– Maintainability
\n– Reusability
\n– Robustness
\n– Scalability<\/p>\n
Unforunately, most of these are polar opposites
\n– Reusability \/ configurability vs maintainability
\n– scalabiliy vs robustness
\n– configurability vs robustness<\/p>\n
The trick is to strike the right balance between these factors,<\/p>\n
Which would depend on the context and usage.<\/p>\n
To give an example, a common one which I always mention is configurable vs robust,<\/p>\n
As you add more features to your application \/ framework and make it more configurable,<\/p>\n
It is bound to be more prone to errors and unknown states in the system.<\/p>\n
That’s why we have the McCabe complexity measurement..<\/p>\n
Anything else you would consider to determine how loosely your product \/ framework coupling should be?<\/p>\n
#QsDaily #automation #FrameworkDesign #SoftwareArchitecture<\/p>\n<\/div>