allows tasks clients macroview windows applications domain layer approach driver design access application developers provides manual source needs which where process business development system products language systems developing people integration collection developed client interface information functionality services framework server software automated their other product these staff based example using standard JoelLipman.Com