former for design observatør -

, observatør - anvendes, når der er mange forbindelser mellem genstande, f.eks. hvis et objekt er ændret, depenedent genstande skal meddeles automatisk.observatør - falder ind under adfærds - kategori, gennemførelse, observatør - bruger tre skuespiller klasser.emne, observatør og klient.emnet er et objekt, der har metoder til at knytte og løsne observatører til en klient objekt.vi har skabt en abstrakt klasse, som observatør, og en konkret gruppe, om, at udvidelse af klasse, observatør.,, observerpatterndemo, vores demo klasse, vil bruge, emne og konkrete klasse formål at vise observatør mønster i aktion.,, trin 1, skabe om klasse.,, om -, import java.util.arraylist; import java.util.list; offentlige klasse omfattet (private liste < observatør > observatører = nye arraylist < observatør > c); private int stat; offentlige int getstate() {tilbage;} offentlige tomrum setstate (int stat) (this.state = stat; notifyallobservers();} offentlige tomrum lægger (observatør observatør) {observatører. tilføje (observatør)} offentlige tomrum notifyallobservers() {for (observatør observatør: observatører) {observatør. update();}}}, trin 2, skabe observatør klasse.,, observatør -,offentlige abstrakt klasse observatør (beskyttet område; offentlige abstrakt tomrum update();}, trin 3, skabe konkrete observatør klasser, binaryobserver -, offentlige klasse binaryobserver udvider observatør (offentlige binaryobserver (emne om) (this.subject = emne. denne. emne. lægger (det)} @ tilsidesætte offentlige tomrum update() {system. println ("binære snor:" + heltal. tobinarystring (emne. getstate())), octalobserver -, offentlige klasse octalobserver udvider observatør (offentlige octalobserver (emne om) (this.subject = emne. denne. emne. lægger (det)} @ tilsidesætte offentlige tomrum update() {system. println ("oktale snor:" tooctalstring (+ heltal.emne. getstate())), hexaobserver -, offentlige klasse hexaobserver udvider observatør (offentlige hexaobserver (emne om) (this.subject = emne. denne. emne. lægger (det)} @ tilsidesætte offentlige tomrum update() {system. println ("hex snor:" tohexstring (+ heltal. emne. getstate()). touppercase())}}, trin 4, anvendelse, og konkret observatør objekter.,, observerpatterndemo -, offentlige klasse observerpatterndemo {offentlige statisk tomrum vigtigste (string [] args) (emne om = nye subject(); nye hexaobserver (om), nye octalobserver (om), nye binaryobserver (om) system. println ("den første medlemsstat ændre: 15"). setstate (15);system. println ("anden medlemsstat ændre: 10"). setstate (10)}}, løntrin 5, kontrollere produktionen, første medlemsstat ændre: 15 hex snor: f oktale snor: 17 binære snor: 1111 anden medlemsstat ændre: 10 hex snor: en oktale snor: 12 binære serie: 1010,

Observer Pattern UML Diagram



Previous:
Next Page: