Core java and design-patterns