Technology sharing

Design Pattern - Animadverte Pattern

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Core idea aspectum exemplaris

Observator exemplaris est etiam notus ut exemplar Publish/Scribe. GOF formam intuentis definit sic: Definire unum ad multa dependentia inter obiecta, permittens multa intuenti obiecta in idem objectum simul intendere Notificabitur et statim renovatur.
Ut in figura infra patebit, exemplar observator V species rerum continet.
Insert imaginem descriptionis hic

  • scopum interfaceSubject: Scopus interfacies tres interfaces definit: observator adiice attach(), observator dele notifica () observatores notify Observatores notifica () et propriam operationem functionis operationis definias ().
  • Abstract target classAbstractSubject: Hoc genus definit collectionem obiecti vectorum observantium, quae adhibetur ad reponendas indicem obiecti observatoris additae et instrumentorum tria munera ad renovandum: observator attach(), dele aspectum detrahe() et observatores notifyObservatores notifica() notifies all observet objects to update se.
  • Imprimis genus target MySubiect: Inhaerere a scopo abstracto classis AbstractSubiect, et scribere munus specificum operationis ad perficiendum operationem ().
  • Animadverte interface Animadverte: Definire renovationem interface unificatam () pro obiectis quae notificandae sunt cum mutationes ordinis scopo.
  • concretum aspectum : Observator multiplex objecta definiri possunt, ut Observa1 et Observator2, functiones renovationis unitae scribere. Cliens Testis vigilantiam efficere potest addendo Observatorem Observatorem classis subjecti.

Inspice exsecutionem specifica.

(1) Observa interface Observer.java renovatio interfacii renovatio definita definit (). Codex eius fons in sequenti programmate ostenditur.

package behavior.observer;


/**
* @author Minggg
* 观察者接口
*/
public interface Observer {

	public void update();
}

(2) Observator exsecutionem classis Observa1.java specifica observatoris exsecutio est, eiusque munus renovatio ad consolatorium chorda adhibetur. Codex eius fons in sequenti programmate ostenditur.

package behavior.observer;


/**
* @author Minggg
* 具体观察者
*/
public class Observer1 implements Observer {

	public void update(){ 
		System.out.println("观察者1得到通知!");
	}
}

(3) Observator exsecutio classis Observer 2.java specifica exsecutio alterius spectatoris est, cuius renovatio munus chordae ad consolatorium praemittendo adhibetur. Codex eius fons in sequenti programmate ostenditur.

package behavior.observer;


/**
* @author Minggg
* 具体观察者
*/
public class Observer2 implements Observer {

	public void update(){ 
		System.out.println("观察者2得到通知!");
	}
}

(4) Subiectum interfaciei observatum. Java tria munera interfaciendi observatores operandi definit, ac specifica operans interfaciem definit ad proprias functiones repraesentandas. Codex eius fons in sequenti programmate ostenditur.

package behavior.observer;


/**
* @author Minggg
* 被观察者接口
*/
public interface Subject {

	// 增加观察者
	public void attach(Observer observer);
	// 删除观察者
	public void detach(Observer observer);
	// 通知所有观察者
	public void notifyObservers();
	// 自身的操作接口
	public void operation();
}

(5) Observata classis abstracta AbstractSubject.java vector album vectorem praebet ut omnia observatores obiecta servet, et functiones exsecutioni scribendas ad obiectis album operandum. Codex eius fons in sequenti programmate ostenditur.

package behavior.observer;

import java.util.Enumeration;
import java.util.Vector;


/**
* @author Minggg
* 被观察者抽象类
*/
public abstract class AbstractSubject implements Subject {

	private Vector