Dahua Design Pattern--Template Method Pattern

    In programming, there are many classes whose behaviors are similar or even the same. The same method can be abstracted into a parent class template.

    For example, an algorithm skeleton, workflow, business template, etc.

    See example:

public abstract class MobanSuper {
	public abstract void PrimitiveOperation1();
	public abstract void PrimitiveOperation2();
	
	public void TemplateMethod(){
		PrimitiveOperation1 ();
		PrimitiveOperation2 ();
		System.out.println("Execute template method");
	}
}   
 
 

For example, the parent class defines such an algorithm or business process: the subclass can inherit and implement it to complete the corresponding template code process. You can let subclasses complete their own template business.

example rux

package moban;

public class ConcreteClassA extends MobanSuper {

	@Override
	public void PrimitiveOperation1() {
		// TODO Auto-generated method stub
		System.out.println("Concrete class A method 1 implementation");
	}

	@Override
	public void PrimitiveOperation2() {
		// TODO Auto-generated method stub

		System.out.println("Concrete class A method 2 implementation");
	}

}
package moban;

public class ConcreteClassB extends MobanSuper {

	@Override
	public void PrimitiveOperation1() {
		// TODO Auto-generated method stub
		System.out.println("Concrete class B method 1 implementation");
	}

	@Override
	public void PrimitiveOperation2() {
		// TODO Auto-generated method stub
		System.out.println("Concrete class B method 2 implementation");
	}

}
Results of the:

Concrete class A method 1 implementation
 Concrete class A method 2 implementation
 execute template method   
 Concrete class B method 1 implementation
 Concrete Class B Method 2 Implementation
 execute template method   




Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325658216&siteId=291194637