package ĠStructural Ċ Ċ import ĠCre ational . Person Ċ Ċ /** Ċ Ġ* ĠThis Ġpattern Ġis Ġmainly Ġused Ġas Ġa Ġwrapper Ġ/ Ġabstract ing Ġthe Ġunderlying Ġclasses . Ċ Ġ*/ Ċ fun Ġmain (){ ĊĠĠĠ Ġval Ġproxy builder Ġ= ĠProxy Person Builder () ĊĠĠĠ Ġproxy builder . int ial ize (" Har ish ", 1 2 f ," 1 2 - 1 2 - 1 2 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"# 1 2 3 4 Ġx zy Ġ 2 nd ĠA Ġabc ") ĊĠĠĠ Ġprintln ( proxy builder . get Person (). toString ()) Ċ } Ċ Ċ /** Ċ Ġ* ĠMain Ġadv Ġof Ġproxy Ġclass Ġis Ġthat Ġit Ġhide s Ġcomplexity Ġof Ġthe Ġclass Ċ Ġ* Ġfor Ġwhich Ġit Ġis Ġa Ġproxy . Ċ Ġ* Ċ Ġ* ĠE g : ĠSVG Image Loader Ġto Ġload Ġsvg Ġimages Ġusing Ġsvg Ġlibrary Ġand Ġrx Ġjava . Ċ Ġ* Ċ Ġ* ĠIn Ġthe Ġbelow Ġexample Ġwrapper Ġfor Ġperson Ġclass . Ċ Ġ*/ Ċ class ĠProxy Person Builder { ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġperson : ĠPerson ĊĊĠĠĠ Ġfun Ġint ial ize ( name : String , age : Float , dob : String ="", home Address : String =" "){ ĊĠĠĠĠĠĠĠ Ġperson Ġ= ĠPerson . Person Builder ( name , age ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set D ob ( dob ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Home Address ( home Address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Person (): Person ? { ĊĠĠĠĠĠĠĠ Ġif (:: person . isInitialized ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġperson ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ }