Design patterns-essentials, experience, Java case study | IEEE Conference Publication | IEEE Xplore