Reduce Coupling

When you are faced with a MonolithicDesign, what can you do to ReduceCoupling?

First I would suggest that you must define the BusinessRules. Often a MonolithicDesign is the result of having people with a strong DomainKnowledge add more BusinessRules (and hence more files or processes) to an existing codebase. BusinessRules end up getting implemented in a split fashion between different programs (leading to SoftwareFragility?).

To assist in the process of reducing coupling, it helps to know what are the causes of increased coupling:

Another way to grok this concept is to imagine assigning a number to the coupling of a process, 1 being the lowest possibly coupling. A program with a coupling of 1 would read in a single flat file or database table, apply logic to implement a single BusinessRule, and write out (or update) a single flat file or database table.


The advantage of reducing coupling is that it allows for easier refactoring.


EditHint: Merge this with CouplingAndCohesion


EditText of this page (last edited November 26, 2014) or FindPage with title or text search