作者:一根吃兔子的萝卜 | 来源:互联网 | 2024-10-20 12:23
简述:策略模式的适用的目标是多子类和单一父类的情形。父类中放的是很多子类共用的代码段,对于不同子类特殊的代码段交给子类进行编写。但如果两个或两个以上的子类需要共同的代码段时,不能将
简述:
策略模式的适用的目标是多子类和单一父类的情形。父类中放的是很多子类共用的代码段,对于不同子类特殊的代码段交给子类进行编写。但如果两个或两个以上的子类需要共同的代码段时,不能将这个代码段放入父类,因为这个代码段和其他的子类无关。正确做法是将少数子类共用的代码段做一个接口,写一个类去实现这个接口,在这个类中放入少数类共用的代码段。然后在父类的参数中加入这个接口对象,这样需要用到共用代码段的子类就可以通过这个接口对象来进行处理。
举例:
下面是很多杂乱的类和接口:
我们用策略模式将使用武器的方法进行抽取,变为一个接口,用很多武器实现这个接口。最后我们只需要针对接口编程就行了。
设计模式(一)—— 策略模式