Tip #14 – High Cohesion and Low Coupling Applies to Reusable Services
Good object oriented design has always stressed the importance of high cohesion and low coupling. This applies to services as well! You want cohesive service capabilities be organized and offered as a service. Cohesive service capabilities make it easier for your consumers to find and comprehend your offerings. Additionally, high cohesion means less need for you to move capabilities across services. Most importantly, striving to be cohesive forces you to put related capabilities together and not end up with a kitchen sink of unrelated functionality. Likewise, each capability needs to be loosely coupled to the implementation language, technology vendor, and physical data characteristics in your SOA environment.