PHP学院的中学生 2021-06-29 10:56:45 1021次浏览 0条回复 0 0 0

在策略模式(Strategy Pattern)中,一个类的行为或算法可以在运行时更改。这种类型的设计模式属于行为型模式,其实现原理是定义一系列的算法,将它们一个个封装起来,并且可以互相替换,这样避免了使用if … else语句所带来的复杂度和维护成本。如果一个系统里有许多的类,而这些类之间的区别仅在于它们行为的不同,系统也需要动态地选择几种算法中的一种,这时使用策略模式是一种很好的解决方案。

我们使用策略模式和工厂模式都可以实现这种功能,区别是:工厂模式关注对象的创建,提供创建对象的接口,是创建型的设计模式,接受指令,创建出符合要求的实例;策略模式是行为型的设计模式,接受已经创建好的实例,实现不同的行为。

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册