zoukankan      html  css  js  c++  java
  • 模板模式

    设计模式的意义在于:面向业务内容、业务数据结构和系统架构,高内聚低耦合、优雅的将平面逻辑立体化。

     1 package designPattern;
     2 /**
     3  * 模板模式
     4  * @author Administrator
     5  */
     6 public class C24_TemplateMethodTest {
     7 
     8     /**
     9      * 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。    
    10      * Template1Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤
    11      * 适用于:
    12      * 1.一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。
    13      * 2.各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。
    14      * 首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。
    15      * 最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。
    16      * 3.控制子类扩展。
    17      */
    18     public static void main(String[] args) {
    19         
    20         Template1 t=new Template1Concrete();
    21         t.print();
    22         t.update();
    23     }
    24 }
    25 //abstract
    26 abstract class Template1 {
    27 
    28     public abstract void print();
    29     
    30     public void update() {
    31         System.out.println("开始打印");
    32         for (int i = 0; i < 10; i++) {
    33             print();
    34         }
    35     }
    36 }
    37 //concreteclass
    38 class Template1Concrete extends Template1 {
    39 
    40     @Override
    41     public void print() {
    42         System.out.println("这是子类的实现");
    43     }
    44 }

    环境:JDK1.6,MAVEN,tomcat,eclipse

    源码地址:http://files.cnblogs.com/files/xiluhua/designPattern.rar

    欢迎亲们评论指教。

  • 相关阅读:
    安全测试的概述和用例设计
    性能测试(四)常见调优
    性能测试(三)常见的性能测试缺陷
    Jmeter(七)六种参数化的方式
    Jmeter(六)所有的断言
    接口测试的问题解答
    ES学习
    flutter 之BottomNavigationBar属性
    flutter StaggeredGridView.countBuilder 上方取消空白
    flutter升级、回退到指定版本---mac版
  • 原文地址:https://www.cnblogs.com/xiluhua/p/4413836.html
Copyright © 2011-2022 走看看