zoukankan      html  css  js  c++  java
  • IOS设计模式学习(18)模板方法

    1 前言

    模板方法模式是面向对象软件设计中一种非常简单的设计模式。其基本思想是在抽象类的一个方法定义“标准”算法。在这个方法中调用的基本操作由子类重载予以实现。这个方法成为“模板”。因为方法定义的算法缺少一些特有的操作。

    2 详述

    2.1 简述

    定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使子类可以重定义算法的某些特定步骤而不改变该算法的结构。

    2.2 何时使用

    (1)需要一次性实现算法的不变部分,并将可变得行为留给子类来实现。

    (2)子类的共同行为应该被提取出来放到公共类中,以避免代码重复。现有代码的差别应该被分离为新的操作。然后用一个调用这些新操作的模板方法来替换这些不同的代码。

    (3)需要控制子类的扩展。可以定义一个在特定点调用“钩子”(hook)操作的模板方法。子类可以通过钩子操作的实现在这些点扩展功能。

    2.3 模板方法调用5种类型的操作

    (1)对具体类或客户端类的具体操作;

    (2)对抽象类的具体操作;

    (3)抽象操作;

    (4)工厂方法;

    (5)钩子操作。

    3 结语

    以上是所有内容,希望对大家有所帮助。

  • 相关阅读:
    C++编译器详解(二)常见precompiling 指令介绍
    C++编译器详解(一)
    Music
    jQuery语法
    Freedom DownTime
    A
    Map类
    伤不起:File.toPath() & Paths.get()
    在不同浏览器中空格显示的效果不一致的问题(主要是宽度不一致)
    关于xmlhttp会使用ie的缓存的问题及解决
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3172435.html
Copyright © 2011-2022 走看看