▁different ▁clients . ▁Because ▁of ▁this ▁design , ▁a ▁st ap le ▁job ▁would ▁know ▁about ▁all ▁the ▁methods ▁of ▁the ▁print ▁job , ▁even ▁though ▁there ▁was ▁no ▁use ▁for ▁them . ▁ ▁The ▁solution ▁suggested ▁by ▁Martin ▁util ized ▁what ▁is ▁today ▁called ▁the ▁Interface ▁Seg reg ation ▁Princi ple . ▁App lied ▁to ▁the ▁X ero x ▁software , ▁an ▁interface ▁layer ▁between ▁the ▁Job ▁class ▁and ▁its ▁clients ▁was ▁added ▁using ▁the ▁Dep endency ▁In version ▁Princi ple . ▁Instead ▁of ▁having ▁one ▁large ▁Job ▁class , ▁a ▁St ap le ▁Job ▁interface ▁or ▁a ▁Print ▁Job ▁interface ▁was ▁created ▁that ▁would ▁be ▁used ▁by ▁the ▁St ap le ▁or ▁Print ▁classes , ▁respectively , ▁calling ▁methods ▁of ▁the ▁Job ▁class . ▁Therefore , ▁one ▁interface ▁was ▁created ▁for ▁each ▁job ▁type , ▁which ▁was ▁all ▁implemented ▁by ▁the ▁Job ▁class . ▁ ▁Typ ical ▁viol ation ▁A ▁typical ▁viol ation ▁of ▁the ▁Interface ▁Seg reg ation ▁Princi ple ▁is ▁given ▁in ▁Ag ile ▁Software ▁Development : ▁Princi ples , ▁Pattern s , ▁and ▁Pract ices ▁in ▁' AT M ▁Trans action ▁example ' ▁and ▁in ▁an ▁article ▁also ▁written ▁by ▁Robert ▁C . ▁Martin ▁specifically ▁about ▁the ▁I SP . ▁This ▁example ▁discuss es ▁the ▁User ▁Interface ▁for ▁an ▁AT M , ▁which ▁handles ▁all ▁requests ▁such ▁as ▁a ▁depos it ▁request , ▁or ▁a ▁withdraw al ▁request , ▁and ▁how ▁this ▁interface ▁needs ▁to ▁be ▁seg reg ated ▁into ▁individual ▁and ▁more ▁specific ▁interfaces . ▁ ▁See