Cohesion and Coupling
Creating a software component that combines related functionality into a single unit. The goal, which is one of the core principle of object-oriented programming, is to create a component that encapsulates implementation details and presents a simple external interface.
Having software components dependent upon specific details of other components. Keeping external interfaces simple and general will help reduce coupling to a minimum.
In our project we combine several independent packages which are imported into each other for example we import printing package( responsible for printing the final bill) in our pay class (responsible for payment)
In case we want change the bill printing technique we can alter the printing bill package without affecting the pay class hence minimum coupling is there. Still It will be able to call the altered class which shows they are still a part of a single unit, i.e. our project has high cohesion.
This is also the case with Other packages and class which are independent yet work as a single entity.
Having software components dependent upon specific details of other components. Keeping external interfaces simple and general will help reduce coupling to a minimum.
In our project we combine several independent packages which are imported into each other for example we import printing package( responsible for printing the final bill) in our pay class (responsible for payment)
In case we want change the bill printing technique we can alter the printing bill package without affecting the pay class hence minimum coupling is there. Still It will be able to call the altered class which shows they are still a part of a single unit, i.e. our project has high cohesion.
This is also the case with Other packages and class which are independent yet work as a single entity.