2 qq 34483362 qq_34483362 于 2016.03.30 16:05 提问

23种设计模式中,模板方法模式体现了什么原则,求大神

百度上看到有人说是 单一职责原则和开放封闭原则。开放封闭原则我懂,可是单一职责原则真的有吗?子类继承了父类,实现父类的方法中的具体操作,不同的子类类型有不同的实现方式,这好像不是单一职责原则的意义啊。还是说体现了其他原则?求大神,谢谢各路英雄好汉

2个回答

lx624909677
lx624909677   Ds   Rxr 2016.03.30 16:10

1)模板方法模式是一种类的行为型模式,在它的结构图中只有类之间的继承关系,没有对象关联关系。
2)板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。
3)在模板方法模式中,我们需要准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。模板方法模式体现了面向对象的诸多重要思想,是一种使用频率较高的模式。

qq_34483362
qq_34483362 回复lx624909677: 那到底是用了什么设计模式啊?
一年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.30 18:10

但是模板方法是固定的,不需要也不应该被子类重写的啊。

wojiushiwo945you
wojiushiwo945you 回复%3F%3F%3F%B7%3F%3F%3F: 模板方法主要就是抽象顶层类给出了策略性的操作流程,而具体流程中的每一步都是抽象方法,需要由子类去实现。但是这个大的策略方法是不允许重写的,外界调用的也是这个大策略方法。
一年多之前 回复
wojiushiwo945you
wojiushiwo945you 回复%3F%3F%3F%B7%3F%3F%3F: 没有什么设计原则啊,就是模板方法啊,即规定了操作流程,但是具体流程的每一步,根据实际情况而定的。
一年多之前 回复
qq_34483362
qq_34483362 回复毕小宝: 那到底是用了什么设计原则
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!