Основным исследованием в этой статье является реализация функций обратного вызова Java и моделей наблюдателя. Конкретный код введения и реализации заключается в следующем.
Режим наблюдателя (иногда называемый режим публикации-подписки, режим модели, режим источника или подчиненного режима)-это тип режима проектирования программного обеспечения. В этом режиме целевой объект управляет всеми объектами наблюдателя, которые зависят от него, и активно выдают уведомления при изменении его состояния. Это обычно достигается путем вызова методов каждого наблюдателя. Этот шаблон обычно используется для реализации систем обработки событий.
Фактически, модель наблюдателя имеет общую среду использования с мостами и стратегиями, упомянутыми выше: независимо инкапсулировать изменения для достижения максимального повторного использования и развязки. Разница между наблюдателем и последними двумя состоит в том, что цель в схеме наблюдателя и изменение наблюдателя не независима, но имеет некоторую связь.
Режим наблюдателя реализован в Java через наблюдаемый класс и интерфейс наблюдателя. Объект объекта контролирует изменения наблюдаемого объекта. Когда наблюдаемый объект меняется, наблюдатель уведомляется и может выполнять соответствующую работу.
Пакет com.demo.test; import java.util.observable; import java.util.observer; // в режиме «Основной» целевой класс сохраняет ссылки на все наблюдатели, в то время как обратный обратный вызов только поддерживает общеобразование. o, Object arg) {System.out.println ("ConceteObservera update");}} // Наблюдатель Bstatic Class CrontoBserverb реализует наблюдатель {@override public void {public void changeValue () {// Защищенный метод может быть вызван только в подкласке setChanged (); notifyObservers ();}} // Интерфейс интерфейса функции обратного обращения icallback {public void oncall ();} // callback class static callbackdemo {private incallback callback; public void setLister (icallback) {incallback in. in. in. in. in void setlister (icallback) {icallback). Callback;} public void call () {callback.oncall ();}} public static void main (string [] args) {// observerConcreteObservera vaseRvera = new ConceteObservera (); ConcreteObserverb exerverb = new ConcreteObserberb (); ConcreteObservable = Newberble = Newserberb = new ConceteObserberb (); ConceteObServable (); visefable.addobserver (Observera); visemble.Addobserver (viseRb); System.out.println ("countobservers =" + visionable.countobservers ()); vision.changevalue (); // callback -callbackdemo callbackdemo = new. CallbackDemo ();; CallbackDemo.setListener (new icallback () {@Override public void oncall () {system.out.println ("callback oncall");}}); callbackdemo.call ();}}Результат вывода:
countobservers = 2
ConceteObserverb обновление
ConceteObservera Обновление
обратный вызов Oncall
Из приведенного выше кода мы видим, что функция обратного вызовов должна принадлежать шаблону наблюдателя, и цель состоит в том, чтобы заменить механизм круглой робин и уменьшить связь между компонентами. В режиме наблюдателя целевой класс поддерживает ссылки всех наблюдателей, в то время как обратный вызов только поддерживает ссылку.
Выше приведено все о функциях обратного вызова Java и коде экземпляра образца наблюдателя в этой статье, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!