การวิจัยหลักในบทความนี้คือการใช้งานฟังก์ชั่นการโทรกลับ Java และรูปแบบผู้สังเกตการณ์ รหัสบทนำและการใช้งานที่เฉพาะเจาะจงมีดังนี้
โหมด Observer (บางครั้งเรียกว่าโหมด Publish-Subscribe, โหมดมุมมองแบบจำลอง, โหมด Source-Listener หรือโหมด Slave) เป็นโหมดการออกแบบซอฟต์แวร์ประเภทหนึ่ง ในโหมดนี้วัตถุเป้าหมายจัดการวัตถุผู้สังเกตการณ์ทั้งหมดที่ขึ้นอยู่กับมันและออกการแจ้งเตือนอย่างแข็งขันเมื่อสถานะเปลี่ยนแปลง โดยปกติจะทำได้โดยการเรียกใช้วิธีการของผู้สังเกตการณ์แต่ละคน รูปแบบนี้มักจะใช้ในการใช้ระบบประมวลผลเหตุการณ์
ในความเป็นจริงโมเดลผู้สังเกตการณ์มีสภาพแวดล้อมการใช้งานร่วมกันกับสะพานและกลยุทธ์ที่กล่าวถึงข้างต้น: ห่อหุ้มการเปลี่ยนแปลงอย่างอิสระเพื่อให้ได้การนำกลับมาใช้ใหม่สูงสุดและ decoupling ความแตกต่างระหว่างผู้สังเกตการณ์และสองคนหลังคือเป้าหมายในรูปแบบผู้สังเกตการณ์และการเปลี่ยนแปลงในผู้สังเกตการณ์ไม่ได้เป็นอิสระ แต่มีการเชื่อมต่อบางอย่าง
โหมดผู้สังเกตการณ์ถูกนำไปใช้ใน Java ผ่านคลาสที่สังเกตได้และอินเทอร์เฟซ Observer วัตถุผู้สังเกตการณ์ตรวจสอบการเปลี่ยนแปลงของวัตถุที่สังเกตได้ เมื่อวัตถุที่สังเกตได้เปลี่ยนไปผู้สังเกตการณ์จะได้รับแจ้งและสามารถทำงานที่สอดคล้องกันได้
แพ็คเกจ com.demo.test; นำเข้า java.util.observable; นำเข้า java.util.observer; // ในโหมดผู้สังเกตการณ์ชั้นเป้าหมายจะรักษาผู้สังเกตการณ์ทั้งหมดในขณะที่การโทรกลับ arg) {system.out.println ("Concreteobservera update");}} // observer bstatic class concreteobserverb ดำเนินการ observer {@Override โมฆะสาธารณะอัปเดต (สังเกต Object Org) {system.out.println ( {public void changeValue () {// วิธีการป้องกันสามารถเรียกได้เฉพาะใน subclass setChanged (); notifyObServers ();}} // ฟังก์ชั่นการเรียกกลับฟังก์ชั่นอินเตอร์เฟส ICALLBACK {โมฆะสาธารณะ onCALL () (callback callback callback callback การโทรกลับ;} การเรียกโมฆะสาธารณะ () {callback.oncall ();}} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// observercreteobservera observera = concreteobservera () concreteobserverb newableobserverbs Concreteobservable (); สังเกตได้. addobserver (observera); observable.addobserver (observerb); system.out.println ("countobservers =" + สังเกตได้. countobservers ()); callbackdemo (); callbackdemo.setListener (ใหม่ icallback () {@Override โมฆะสาธารณะ oncall () {system.out.println ("callback oncall");}}); callbackdemo.call ();}}}}}}}}}}}}ผลลัพธ์ผลลัพธ์:
Countobservers = 2
การอัปเดต Concreteobserverb
การอัปเดต Concreteobservera
โทรกลับ
จากรหัสด้านบนเราจะเห็นว่าฟังก์ชั่นการโทรกลับควรเป็นของรูปแบบผู้สังเกตการณ์และวัตถุประสงค์คือการแทนที่กลไกการหมุนรอบและลดการมีเพศสัมพันธ์ระหว่างส่วนประกอบ ในโหมดผู้สังเกตการณ์คลาสเป้าหมายจะรักษาข้อมูลอ้างอิงของผู้สังเกตการณ์ทั้งหมดในขณะที่การโทรกลับจะมีการอ้างอิงเท่านั้น
ข้างต้นเป็นเรื่องเกี่ยวกับฟังก์ชั่นการโทรกลับ Java และรหัสอินสแตนซ์รูปแบบผู้สังเกตการณ์ในบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!