I'm reading the Head First Servlets & JSP book. Page 779 states that the Service Locator is based on: hiding complexity and separation of concern. Couldn't the Service Locator also be based on cohension too? Reading page 743, Cohension is described as "the degree to which a class is designed for one, cohesive, task or purpose. This to me seems to fit the Service Locator? The Service Locator performs registry lookups...isn't this a cohesive pattern? Would someone please clarify to help me understand how the Service Locator isn't? And also what about Front Controller, cohension seems to fit since it's purpose is to navigate an app's request to the appropriate place?