C#设计模式教程(23):模板方法模式

模板方法模式的定义

模板方法模式是一种行为设计模式,它定义了一个操作中的算法的骨架,将一些步骤延迟到子类中实现。这样可以在不改变算法结构的情况下,在子类中重新定义算法的某些特定步骤。

大白话理解模板方法模式

模板方法模式,用大白话来说,就像是做菜的食谱。食谱上会写明做这道菜需要哪些步骤,比如洗菜、切菜、炒菜,这些步骤的顺序和做法基本上是固定的,但是具体怎么切、用什么油、放多少盐就可以根据个人口味来调整。

在软件开发中,模板方法模式也是这样的:

  1. 你有一个操作中的步骤框架,这个框架决定了操作中步骤的顺序,就像食谱上决定了先洗菜再切菜。

  2. 这个步骤框架是不会变的,但是框架里的某些步骤的具体实现是可以变化的,就像食谱上不会告诉你用多大火炒菜一样。

  3. 在模板方法模式中,这个不变的步骤框架就是一个“模板方法”,它定义在一个抽象类中。

  4. 那些可以变化的步骤被设计成抽象方法,让子类去具体实现,就像你可以按照自己的口味去调整食谱中的调料一样。

举个例子:

比如说,你要做一个软件,这个软件可以帮助人们建造房子。建造房子有一系列的步骤:打地基、砌墙、封顶、装修。这个建造过程(即模板方法)是不变的,每个人建造房子都得经过这些步骤。

但是,具体怎么砌墙(比如用砖还是用木头)、怎么装修(简约风格还是豪华风格)就可以根据建造者的喜好来改变了。

在你的软件中,你就可以定义一个抽象类HouseBuilder

你可能感兴趣的:(C++/C#,设计模式,c#,设计模式,模板方法模式)