策略模式赋予可修改行为_第1页
策略模式赋予可修改行为_第2页
策略模式赋予可修改行为_第3页
策略模式赋予可修改行为_第4页
策略模式赋予可修改行为_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1策略模式赋予可修改行为第一部分策略模式定义及原理 2第二部分行为修改的必要性与途径 4第三部分策略对象的可插拔设计 7第四部分策略工厂的动态创建 11第五部分策略上下文中的松耦合 14第六部分策略组合与扩展 17第七部分策略持久化与可重用 19第八部分策略模式的应用场景 21

第一部分策略模式定义及原理关键词关键要点策略模式定义及原理

主题名称:策略模式定义

1.策略模式是一种设计模式,它允许在不改变算法的情况下修改算法的行为。

2.策略模式将算法的行为封装在不同的类中,这些类称为策略类。

3.客户端可以动态地选择和替换策略类,以改变算法的行为。

主题名称:策略模式原理

策略模式定义

策略模式(StrategyPattern)是一种软件设计模式,它定义了一组算法,将算法的实现与算法的使用分离。

策略模式原理

策略模式基于以下核心思想:

*接口定义算法:策略模式通过定义一个接口来抽象算法行为。

*具体策略实现算法:具体策略类实现接口,提供不同算法的实现。

*上下文使用策略:上下文类维护对具体策略对象的引用,并通过策略对象委托算法的执行。

策略模式优点

*可修改行为:策略模式允许在不改变上下文类的情况下修改算法。

*代码解耦:它解耦了算法实现与算法使用,提高了代码的灵活性。

*可扩展性:轻松添加新策略,无需修改现有代码。

*可重用性:策略可以复用,减少代码冗余。

策略模式应用场景

策略模式适用于以下场景:

*当算法需要经常改变时。

*当算法独立于上下文对象时。

*当需要在运行时选择算法时。

*当需要仅使用少量算法时。

策略模式步骤

实现策略模式包括以下步骤:

1.定义策略接口,声明算法方法。

2.为每个算法变体创建具体策略类,实现策略接口。

3.创建上下文类,维持对具体策略对象的引用。

4.上下文类通过策略对象委托算法执行。

策略模式示例

假设我们要创建一个计算奖金的系统。我们可以使用策略模式,将不同的奖金计算算法与系统其他部分分离。

策略接口:

```java

doublecalculateBonus(Employeeemployee);

}

```

具体策略类:

```java

@Override

returnemployee.getSalary()*0.1;

}

}

@Override

return1000.0;

}

}

```

上下文类:

```java

privateBonusCalculatorbonusCalculator;

this.bonusCalculator=bonusCalculator;

}

returnbonusCalculator.calculateBonus(this);

}

}

```

使用策略模式,我们可以轻松地更改奖金计算算法,而无需修改`Employee`类。第二部分行为修改的必要性与途径关键词关键要点策略模式赋予可修改行为

行为修改的必要性与途径

主题名称:行为修改的必要性

1.应对环境变化:随着市场竞争加剧、技术变迁加速,企业需要不断调整策略以适应不断变化的环境。

2.提高运营效率:通过修改策略,企业可以优化流程、提高生产力并降低成本。

3.提升客户满意度:根据客户需求和反馈修改策略可以增强客户体验,从而提高客户满意度和忠诚度。

主题名称:策略模式的实现

行为修改的必要性

1.适应不断变化的环境

*技术进步、市场需求和监管变化不断重塑业务环境。

*企业需要快速响应这些变化,调整其行为以保持竞争优势。

2.提高效率和生产力

*无效或过时的行为会阻碍效率和生产力。

*修改行为可以消除瓶颈、优化流程并提高输出。

3.改善客户体验和满意度

*不良行为会损害客户体验,导致流失和负面声誉。

*通过修改行为,企业可以改善客户互动、解决投诉并提高满意度。

4.遵守法律和法规

*许多行业都有监管要求,规定特定行为准则。

*不遵守这些要求可能会导致法律处罚、罚款和声誉受损。

5.促进学习和创新

*行为修改可以创造一个支持学习和创新的环境。

*通过让员工尝试新方法并迅速调整行为,企业可以培养适应性和创新能力。

行为修改的途径

1.识别需要改进的行为

*通过分析数据、寻求反馈和观察实际行为来确定需要改进的领域。

*专注于具体的行为,将其分解成更小的步骤。

2.设定明确的目标

*为要达到的行为修改制定明确、可衡量、可实现、相关和有时限的目标。

*确保目标与企业的总体战略和价值观相一致。

3.确定行为的根源

*了解导致当前行为的动机、信念和环境因素。

*分析奖励和惩罚结构,以及行为的后果。

4.开发和实施干预措施

*根据行为的根源设计和实施干预措施。

*干预措施可能包括培训、辅导、绩效管理和激励计划。

5.监控和评估进度

*定期监控行为的变化,并根据需要调整干预措施。

*收集数据、寻求反馈并进行绩效评估以评估行为修改的有效性。

6.加强和维持改变

*一旦新的行为被采用,制定策略来加强和维持改变。

*提供持续的支持、奖励积极行为并防止行为回退。

7.企业文化的支持

*行为修改需要一个支持性的企业文化,鼓励学习、创新和对改变的开放性。

*通过领导层倡导、沟通和培训培养这种文化。

8.技术的利用

*技术可以增强行为修改的努力。

*利用数据分析工具、学习管理系统和绩效管理软件来跟踪进度、提供反馈并促进学习。

9.持续改进

*行为修改是一个持续的过程。

*定期重新评估行为、目标和干预措施,以确保持续的改进和适应新的挑战。第三部分策略对象的可插拔设计关键词关键要点策略对象的解耦和重用

1.策略对象是独立于具体行为实现的,这使得它们可以被轻松替换或重新利用。

2.这种解耦使系统更具灵活性,因为它允许在不更改核心逻辑的情况下修改或添加新行为。

3.此外,重用策略对象可以减少代码重复并提高可维护性。

策略对象的可测试性

1.独立的策略对象可以更轻松地进行单元测试,因为它们与其他代码组件隔离开来。

2.这有助于提高代码的质量和可靠性,因为可以隔离和验证每个策略的行为。

3.可测试性还使调试和识别策略中存在的错误变得更加容易。

策略对象的扩展性

1.策略模式通过提供一种机制来动态添加或修改策略,支持系统的扩展性。

2.这使得系统可以适应不断变化的需求,而无需大量修改核心代码。

3.扩展性还允许在未来集成新的或增强现有的行为,从而延长系统的寿命。

策略对象的封装

1.策略模式通过封装具体的行为实现,提高了系统的内聚性和可读性。

2.这种封装隐藏了策略对象的内部工作原理,使调用它们的代码更简洁、更容易理解。

3.封装还有助于确保策略对象之间的松散耦合,使其更容易维护和更新。

策略对象的透明度

1.策略模式通过明确定义策略接口和行为,提供了系统的透明度。

2.这使开发人员和维护人员能够轻松理解策略对象如何交互并影响系统行为。

3.透明度还促进了更好的代码协作和更有效的团队合作。

策略对象的伸缩性

1.策略模式支持系统的伸缩性,因为它允许轻松添加或删除策略对象。

2.这使得系统可以随着需求的变化进行扩展或缩减,而不会影响核心逻辑。

3.伸缩性对于构建能够应对不断变化的负载和条件的健壮系统至关重要。策略对象的可插拔设计

定义

策略对象的可插拔设计是指将策略类设计为可插入不同的策略算法,从而实现行为的可修改性。具体而言,策略类作为一个抽象接口,定义了一组方法,而具体的策略算法则通过继承或实现该接口来提供特定行为。

实现

策略模式中,策略类通常定义为一个抽象接口或基类,它提供了一组需要实现的方法。这些方法对应于策略的特定行为。具体策略算法则继承或实现该接口,并提供这些方法的具体实现。

优势

策略对象的可插拔设计提供了以下优势:

*可修改行为:策略对象将行为与策略类解耦,允许在运行时动态修改算法。这提高了系统的灵活性,使其能够适应不断变化的需求。

*可扩展性:策略设计模式允许轻松添加新的策略算法。只需创建一个新的具体策略类并继承或实现策略接口即可。

*可测试性:策略对象使测试不同算法变得更加容易。通过模拟不同的策略对象,可以孤立测试特定行为。

*可维护性:策略模式通过将算法集中到不同的对象中,提高了代码的可维护性。这使得修改算法或添加新算法变得更加容易。

应用场景

策略对象的可插拔设计广泛应用于各种软件系统中,包括:

*排序算法:不同的排序策略(如插入排序、归并排序)可以用作具体策略算法,而策略类定义了通用的排序接口。

*压缩算法:不同的压缩算法(如ZIP、GZIP)可以用作具体策略算法,而策略类定义了通用的压缩接口。

*游戏策略:不同的游戏策略(如进攻性、防御性)可以用作具体策略算法,而策略类定义了通用的游戏接口。

实现代码示例

以下是用Java实现策略模式的示例代码:

```java

//策略接口

voidsort(int[]arr);

}

//具体策略算法:插入排序

@Override

//插入排序算法实现

}

}

//具体策略算法:归并排序

@Override

//归并排序算法实现

}

}

//策略类

privateSortStrategysortStrategy;

this.sortStrategy=sortStrategy;

}

sortStrategy.sort(arr);

}

}

```

在这个示例中,`SortStrategy`接口定义了排序方法,而`InsertionSort`和`MergeSort`作为具体的策略算法实现了此方法。`SortContext`类使用策略模式允许动态更改排序算法。

结论

策略对象的可插拔设计是实现可修改行为的有效技术。它通过解耦行为与策略类,允许在运行时动态更改算法,增强了系统的灵活性、可扩展性、可测试性和可维护性。该模式广泛应用于各种软件系统中,包括排序、压缩和游戏策略。第四部分策略工厂的动态创建策略工厂的动态创建

在策略模式中,策略工厂是一个负责创建和管理策略对象的类或组件。通过动态创建策略工厂,可以提高应用程序的灵活性和可扩展性,从而在运行时添加、删除或修改策略行为。

#创建动态策略工厂

动态策略工厂的创建涉及两个主要步骤:

1.定义策略接口:此接口定义策略必须实现的公共方法和属性。它提供了策略对象之间的契约。

2.实现策略工厂类:策略工厂负责实例化和管理策略对象。它包含用于创建和检索策略的方法,并基于不同的输入或条件动态选择要实例化的策略。

#动态策略切换

动态策略切换是指在应用程序运行时修改策略行为的能力。这可以通过以下方式实现:

1.策略注册:策略工厂提供注册新策略类型的方法。开发人员可以创建和注册自定义策略类,这些策略类实现了策略接口。

2.策略选择:策略工厂基于用户输入、系统配置或其他因素动态选择要使用的策略。它通过调用适当的策略注册方法或使用策略标识符从策略注册表中检索策略对象来实现。

#策略自定义

策略自定义允许开发人员创建和应用特定于应用程序需求的定制策略。这可以通过以下方式实现:

1.策略抽象类:策略工厂可以提供一个策略抽象类,该类定义了策略的基本行为。开发人员可以扩展此抽象类来创建自定义策略。

2.配置选项:策略工厂可以提供配置选项,允许开发人员定制策略的行为。这些选项可以公开为属性或方法,允许在运行时对其进行修改。

#优势

动态策略工厂提供以下优势:

1.灵活性:无需修改应用程序代码即可添加、删除或修改策略。这使应用程序能够轻松适应不断变化的需求。

2.可扩展性:开发人员可以创建和注册自定义策略,从而扩展应用程序的功能,而无需修改核心代码。

3.解耦:策略逻辑与应用程序代码解耦,提高了模块化和可维护性。

4.可测试性:策略对象易于单独测试,简化了应用程序的测试过程。

#使用场景

动态策略工厂在以下场景中特别有用:

1.可配置应用程序:允许用户或管理员在运行时根据其偏好定制应用程序行为。

2.插件系统:提供一种将新功能或行为添加到应用程序而不修改核心代码的方法。

3.动态决策:基于特定条件或输入在运行时做出策略决策。

#示例

以下是一个使用动态策略工厂的示例:

```java

//定义策略接口

voidexecute();

}

//创建策略工厂

privateMap<String,Strategy>strategies=newHashMap<>();

returnstrategies.get(strategyName);

}

strategies.put(strategyName,strategy);

}

}

//创建自定义策略

@Override

//自定义策略行为

}

}

//在运行时使用策略工厂

StrategyFactoryfactory=newStrategyFactory();

factory.registerStrategy("CUSTOM",newCustomStrategy());

Strategystrategy=factory.getStrategy("CUSTOM");

strategy.execute();

```

在该示例中,策略工厂在运行时动态创建和管理策略对象。开发人员可以注册自定义策略,并根据需要在应用程序中选择和使用它们。第五部分策略上下文中的松耦合策略模式赋予可修改行为中的策略上下文中的松耦合

引言

策略模式是一种设计模式,它将算法的行为封装在可互换的策略类中,从而允许动态地修改应用程序的行为。在策略模式中,策略上下文负责管理策略对象,并在需要时调用它们的执行方法。

松耦合

策略上下文中的松耦合是指策略上下文和策略对象之间松散的耦合关系。这意味着策略上下文不会依赖于任何特定的策略实现,而是通过一个通用接口与策略对象交互。这种松耦合提供了以下优势:

可扩展性

松耦合允许轻松地添加或删除策略,而无需修改策略上下文。这使得应用程序更易于扩展,因为它可以适应不断变化的需求。

可重用性

策略上下文可以与多种策略对象一起使用,这使得它可以跨不同的应用程序和场景重用。

可维护性

通过将策略实现与策略上下文分离,可以简化代码维护。可以独立开发和测试策略对象,而无需考虑策略上下文。

策略上下文的角色

在策略模式中,策略上下文负责以下职责:

*维护策略对象:策略上下文管理策略对象的生命周期,包括创建、存储和删除。

*请求策略执行:当需要执行策略时,策略上下文调用策略对象的执行方法。

*传递必要的信息:策略上下文向策略对象提供执行所需的信息,例如数据或上下文对象。

实现松耦合的机制

策略模式中的松耦合通常通过以下机制实现:

*接口:策略上下文使用一个接口来定义策略对象必须实现的方法。这允许不同的策略实现共享一个通用的接口。

*工厂模式:策略上下文可以利用工厂模式来创建策略对象。工厂负责根据特定条件实例化合适的策略类,从而与具体的策略实现解耦。

*注入:策略对象可以通过依赖注入机制注入到策略上下文中。这减少了策略上下文和策略对象之间的直接依赖关系。

示例

考虑一个简单的排序应用程序,该应用程序使用不同的排序算法(例如,冒泡排序、快速排序和归并排序)对数据集进行排序。使用策略模式,我们可以将排序算法封装在策略对象中,并使用策略上下文管理策略对象并执行排序操作。

在这种情况下,策略上下文负责创建和存储排序策略对象。当需要对数据集进行排序时,策略上下文使用通用的接口调用排序策略的执行方法。排序策略根据其特定算法对数据集进行排序,并返回排序后的结果。

策略上下文的松耦合与策略对象允许应用程序轻松地添加或删除排序算法,而无需修改策略上下文。这提供了可扩展性和可重用性,因为策略上下文可以与不同的排序策略一起使用,使其适用于各种排序场景。

结论

策略模式中的策略上下文松耦合提供了显着的优势,包括可扩展性、可重用性和可维护性。通过将策略实现与策略上下文分离,应用程序可以轻松地修改其行为,满足不断变化的需求。第六部分策略组合与扩展关键词关键要点【策略组合与扩展】

主题名称:组合策略

1.策略组合允许将多个策略合并到一个新策略中。

2.这使开发人员能够创建复杂的行为,这些行为通过组合更简单的策略实现。

3.策略组合可以提高代码的可重用性和可扩展性。

主题名称:扩展策略

策略组合与扩展

策略模式的强大功能之一在于组合和扩展策略。这使得开发人员能够灵活地创建复杂的行为,同时保持代码的可读性和可维护性。

策略组合

策略组合允许将多个策略组合成一个新的策略。这可以通过以下方式实现:

*嵌套策略:将一个策略作为另一个策略的参数传递。嵌套策略的输出被用作外层策略的输入。

*装饰器策略:将一个策略包装在另一个策略中,增强或修改原策略的行为。

*适配器策略:将不兼容的策略适配到特定接口,使其可以在策略模式中使用。

例如,一个税务计算模块可以包含多个策略,每个策略计算特定类型的税收。我们可以将这些策略组合成一个单一的、统一的税务计算策略,该策略依次调用各个具体策略来计算总税收。

策略扩展

策略模式还可以通过以下方式扩展:

*抽象策略工厂:定义一个创建策略对象的接口。这允许客户端在不依赖具体策略类的情况下创建策略。

*策略注册表:在运行时存储和管理策略。这允许应用程序动态加载和卸载策略,从而实现可插拔行为。

*策略扩展点:在策略模式中定义特定的扩展点,允许开发人员插入自定义逻辑。这提供了一个有组织的方式来扩展策略功能,而无需修改核心代码。

例如,一个日志记录系统可以包含一个策略扩展点,允许开发人员插入自定义日志格式化器。这使得应用程序能够根据需要轻松地更改日志记录行为。

实际应用

策略组合和扩展在实际应用中有许多好处:

*灵活性:允许开发人员创建复杂的行为,同时保持代码的可读性和可维护性。

*可扩展性:策略模式易于扩展,允许添加新策略或修改现有策略,而无需修改核心代码。

*可重用性:策略可以被复用在多个应用程序或模块中,从而提高代码效率。

*可测试性:策略模式促进单元测试,因为策略可以被隔离并独立测试。

总之,策略组合和扩展提供了强大的机制来创建和管理可修改的行为。通过组合和扩展策略,开发人员可以灵活地实现复杂的行为,同时保持代码的可读性、可维护性和可扩展性。第七部分策略持久化与可重用关键词关键要点策略持久化

1.持久化策略使程序能够保存和检索其策略配置,即使应用程序关闭或系统重新启动。

2.策略持久化可以通过文件系统、数据库或云存储等多种方法实现。

3.持久化策略提高了应用程序的鲁棒性和可靠性,确保在各种情况下都能恢复和应用策略。

策略可重用

1.可重用策略允许应用程序创建和使用通用的策略定义,而无需为每个特定用例编写自定义策略。

2.策略可重用性提高了代码效率和可维护性,减少了重复和错误。

3.可重用策略促进标准化和一致性,确保所有应用程序组件都根据相同的规则和原则运行。策略持久化与可重用

在策略模式中,策略可以持久化和可重用,这提供了极大的灵活性。

策略持久化

策略持久化是指将策略存储在外部数据存储中,例如数据库或文件系统。这样做的好处是:

*可配置性:允许动态更改策略,而无需重新编译或重新部署应用程序。

*可审计性:提供策略历史记录和变更跟踪,增强了应用程序的可审计性和合规性。

*外部管理:使非技术人员能够通过外部工具和界面管理策略,简化了策略维护。

策略可重用

策略可重用是指同一策略可用于多个对象或组件,以实现行为一致性。这样做的好处包括:

*代码重用:减少冗余代码,提高应用程序的可维护性和健壮性。

*行为一致性:确保在不同组件或上下文中应用相同的行为,防止不一致和错误。

*性能优化:通过缓存或共享策略对象,可以提高应用程序性能。

策略持久化和可重用实现

策略的持久化和可重用可以通过以下方法实现:

*数据库:使用关系数据库或文档数据库(例如MongoDB)存储策略数据。

*文件系统:将策略存储为JSON、XML或YAML文件。

*内存缓存:将策略加载到内存中,以实现快速访问和性能优化。

具体实现示例

考虑一个具有以下行为的电子商务应用程序:

*根据用户组提供不同的折扣。

*根据产品类别应用不同的税率。

使用策略模式,我们可以将折扣和税率策略存储在数据库中。这允许我们:

*动态更新策略,而无需重新部署应用程序。

*通过外部界面轻松管理策略,非技术人员也可以操作。

*确保在不同页面和组件中应用一致的行为,避免折扣或税率计算错误。

其他优点

除了上述优点外,策略持久化和可重用还提供了以下益处:

*可测试性:通过将策略与应用程序代码分离,可以轻松测试和验证策略。

*扩展性:简化了添加新策略或更改现有策略的过程,增强了应用程序的可扩展性。

*松散耦合:策略与应用程序代码松散耦合,提高了灵活性,简化了维护和增强。

结论

策略模式赋予可修改行为的持久化和可重用功能,提供了极大的灵活性、可配置性、可审计性、可重用性和可测试性。通过使用外部数据存储和策略可重用机制,应用程序可以适应不断变化的需求,同时保持行为一致性和性能优化。第八部分策略模式的应用场景策略模式的应用场景

策略模式是一种设计模式,它允许动态地修改算法或行为,而无需修改类的结构。当特定行为需要独立于使用它的类而变化时,策略模式非常有用。以下是一些常见的策略模式应用场景:

1.算法选择

策略模式允许在运行时选择不同的算法,从而实现算法的灵活性。例如,在排序应用程序中,可以根据数据类型和期望的复杂度,使用不同的排序算法(如冒泡排序、快速排序或归并排序)。

2.行为封装

策略模式可以将复杂的行为封装成单独的对象,从而提高代码的可读性和可维护性。例如,在游戏开发中,可以将不同的角色行为(如移动、攻击或跳跃)封装为策略对象,并将其分配给不同的角色。

3.可扩展性

策略模式支持动态添加和删除策略,从而实现系统的可扩展性。例如,在购物车系统中,可以添加不同的付款策略(如信用卡、借记卡或PayPal)以支持各种付款方式。

4.灵活的配置

策略模式允许根据配置参数或用户输入轻松地更改行为。例如,在日志记录系统中,可以通过提供日志级别参数,使用不同的日志策略(如将日志记录到文件或数据库)来配置日志记录行为。

5.测试隔离

策略模式将行为与使用它的类分离,从而实现测试隔离。例如,在单元测试中,可以模拟不同的策略对象,以独立测试依赖于它们的代码。

策略模式的具体应用场景:

*电子商务:支付网关选择、运费计算策略。

*游戏开发:角色行为、关卡生成算法。

*数据库系统:查询优化策略、索引选择策略。

*网络安全:入侵检测算法、防火墙规则。

*图像处理:图像增强、图像压缩算法。

*金融业:风险评估策略、投资策略。

*医疗保健:诊断算法、治疗计划选择。

*制造业:生产调度算法、质量控制策略。

*云计算:资源分配策略、负载均衡算法。

*物联网:传感器数据处理策略、设备连接策略。

策略模式是一种强大的设计模式,它提供了算法选择的灵活性、行为封装、可扩展性、灵活配置和测试隔离的优势。通过正确地识别和应用策略模式,开发人员可以创建可定制、可维护且可扩展的软件系统。关键词关键要点主题名称:策略工厂的动态创建

关键要点:

1.策略工厂可以通过查询外部数据源(如数据库或配置文件)动态地创建策略对象。

2.这种方法允许在运行时修改策略,无需重新编译或部署应用程序。

3.动态策略创建促进了可配置性,允许应用程序根据环境条件或用户偏好调整其行为。

主题名称:策略对象的缓存

关键要点:

1.策略对象可以被缓存,以便在需要时快速访问它们。

2.缓存策略对象可以提高应用程序的性能,尤其是当策略频繁更改时。

3.策略缓存还可以防止在使用策略对象时出现并发问题。

主题名称:策略对象的并发控制

关键要点:

1.如果多个线程或进程同时尝试访问或修改策略对象,则必须实施并发控制机制。

2.并发控制机制可以防止策略数据损坏或不一致。

3.可以使用锁、信号量或其他同步原语来确保策略对象的并发安全。

主题名称:策略对象的注入

关键要点:

1.策略对象可以通过依赖注入框架注入到应用程序中。

2.依赖注入简化了策略对象的创建和管理。

3.它还允许轻松地在运行时替换策略对象。

主题名称:策略对象的测试

关键要点:

1.策略对象应进行彻底的测试,以确保它们按预期工作。

2.测试应该包括各种输入和条件,以覆盖所有可能的行为。

3.自动化测试工具可以简化策略对象测试流程。

主题名称:策略模式的扩展

关键要点:

1.策略模式可以通过引入附加功能或修改现有功能来进行扩展。

2.策略模式的扩展可能包括添加新的策略类型、修改策略创建过程或集成其他设计模式。

3.策略模式的扩展可以提高其灵活性、可扩展性和可重用性。关键词关键要点策略模式赋予可修改行为中的松耦合

主题名称:解耦行为和策略

*关键要点:

*策略模式分离了行为的具体实现和行为的调用逻辑。

*策略对象只关心行为的实现,而策略上下文负责选择和调用不同的策略。

*这使得可以轻松地修改行为,而无需修改调用逻辑。

主题名称:可扩展性

*关键要点:

*策略模式允许在不修改现有代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论