Home > Java > javaTutorial > Introduction to Java Design Pattern Template Pattern (Template Pattern)

Introduction to Java Design Pattern Template Pattern (Template Pattern)

高洛峰
Release: 2017-01-19 16:57:27
Original
1346 people have browsed it

Template pattern definition: Define the skeleton of an algorithm in an operation, deferring the execution of some steps to its subclasses.

In fact, Java's abstract class is originally the Template pattern, so it is very commonly used. And it is easy to understand and use. Let’s start directly with an example:

public abstract class Benchmark
{
  /**
  * 下面操作是我们希望在子类中完成
  */
  public abstract void benchmark();
  /**
  * 重复执行benchmark次数
  */
  public final long repeat (int count) {
    if (count <= 0)
      return 0;
    else {
      long startTime = System.currentTimeMillis();
            for (int i = 0; i < count; i++)
          benchmark();
                long stopTime = System.currentTimeMillis();
                return stopTime - startTime;
          }
        }
}
Copy after login

In the above example, we want to repeatedly perform the benchmark() operation, but the specific content of benchmark() is not explained, but is delayed until other Description in the subclass:

public class MethodBenchmark extends Benchmark
{
  /**
  * 真正定义benchmark内容
  */
  public void benchmark() {
    for (int i = 0; i < Integer.MAX_VALUE; i++){
      System.out.printtln("i="+i);    
       }
  }
}
Copy after login

At this point, the Template mode has been completed, is it very simple? See how to use it:

   Benchmark operation = new MethodBenchmark();
    long duration = operation.repeat(Integer.parseInt(args[0].trim()));
    System.out.println("The operation took " + duration + " milliseconds");
Copy after login

Maybe you were wondering about the use of abstract classes before, but now you should understand it completely, right? As for the benefits of doing this, it is obvious that it is highly scalable. If the Benchmark content changes in the future, I only need to make another inherited subclass without modifying other application codes.

For more articles related to the introduction of Java design pattern template mode (Template mode), please pay attention to the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template