Updated 27 February 2023
Here is an interesting article on Tight and Loose Coupling in Swift.
Like other articles here is again an interesting article, here we will explain the meaning of coupling, tight coupling, and loose coupling in Swift.
So let’s begin with the article.
Coupling in Swift refers to how much one class/module/objects are dependent on each other.
For instance, classes are coupled when methods in one class use methods or instance variables defined in a different class.
Basically, there are three types of coupling.
In Structural Dependency Coupling, there is a direct connection between the classes or their components. Inheritance is the best example of Structural Coupling in Swift. Any changes in the parent class directly hit the influence in the subclass.
There might be some variable used in another class or some properties that are being used as a parameter of the function of the other class, all these constitute coupling.
In Fan-Out Coupling:
Fan-Out — The number of modules called by a given module
Fan-In — The number of modules that call a given module
Logical Coupling is when the code changes in one module changes the functionality in another module.
The level of severity defines the coupling as Tight or loose.
The tightly coupled is an object that is highly dependent on the other object of the class.
If you change one object in a tightly coupled application then you need to change the number of instances used of that object in another class.
In Tight coupling, you cannot even replace the object as it is highly dependent on the usage of other classes.
Loosely coupled is when a class doesn’t depend on a certain object or class, but rather on a protocol/interface.
In this case, dependencies don’t have a specific implementation, but rather a protocol/interface that they conform to
We hope you understand the overview of the Tight and Loose Coupling in Swift.
Try to write Loosely coupled or Decoupled code so the inter-dependencies can be minimum.
If you want to Explore more then visit here.
If you want to read my other articles please click here.
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
Be the first to comment.