`
qq125922714
  • 浏览: 36069 次
社区版块
存档分类
最新评论

Enum的策略模式

阅读更多

   
策略模式适用于客户端在几种算法中选择一种。并不适用于客户需要几种算法的情况。
package com.strategy;

public class EnumTest {
  public enum Commodity{
	  NoDiscount{

		@Override
		public void calculateMethod(String item, int price) {
			// TODO Auto-generated method stub
			
		}},
	  ReduceOne{

		@Override
		public void calculateMethod(String item, int price) {
			// TODO Auto-generated method stub
			
		}},
	  NinetyPercent{

		@Override
		public void calculateMethod(String item, int price) {
			// TODO Auto-generated method stub
			
		}};
	  
	  public abstract void calculateMethod(String item, int price);

	
	  
	  
  }
 
  
  
}


 
0
0
分享到:
评论

相关推荐

    enum 简单使用例子

    这种模式在事件处理、策略模式等场景中非常常见。 总的来说,枚举(enum)是C#中一个强大且实用的工具,它能够提高代码的可读性和可维护性。结合委托(delegate),我们可以在程序设计中引入更多的灵活性和复用性,...

    Java中的枚举类型Enum示例源代码

    枚举类型还可以用于实现策略模式、状态机等设计模式,提供了比常量类更安全、更灵活的解决方案。 总之,Java的枚举类型`Enum`不仅提供了对常量集的封装,还具备了类的所有功能,包括方法、构造函数和继承。它极大地...

    使用策略模式实现报警服务示例详解(短信报警)

    在本文中,我们将深入探讨如何使用策略模式来实现一个报警服务,特别关注短信报警功能。策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在报警服务的场景中,这种模式允许我们灵活地选择不同的报警...

    设计模式在java语言中的运用 书籍

    比如“策略模式”定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,使得算法的变化不会影响到使用算法的客户端。在Java中,策略模式常用于实现策略接口并实例化具体策略类。还有“观察者模式”,它定义...

    Java中的Enum的使用与分析

    有时候,枚举类型本身就是一个枚举类,它不仅定义了枚举常量,还包含了相关的方法和属性,这种方式在设计模式中经常被用到,如状态模式、策略模式等。 通过以上介绍,我们可以看到Java中的枚举是一个强大而灵活的...

    设计模式——单例模式

    为了解决懒汉式单例模式的性能问题,有几种优化策略: 1. **双检锁/双重校验锁(DCL,即 double-checked locking)** ```java public class Singleton { private volatile static Singleton instance; private ...

    设计模式——单例模式(懒汉模式)

    总的来说,单例模式是一种常见的设计模式,懒汉式单例模式则是其中一种实现策略,它的主要特点是延迟加载和线程安全。在选择单例模式实现时,开发者需要根据具体需求考虑性能、线程安全以及代码简洁性等因素。

    单例模式详解~~单例模式详解~~

    然而,如果涉及类加载器或跨JVM的场景,单例模式的实现就需要更复杂的策略,例如使用`序列化`和`克隆`时需要特殊处理,防止生成额外的实例。另外,如果要考虑服务集群或分布式系统,可能需要采用分布式单例,例如...

    大话设计模式--Singleton(单例模式)

    单例模式是软件设计模式中的一种经典模式,它在许多场景下被广泛使用,尤其是在需要全局唯一实例的情况下。本文将深入探讨单例模式的概念、作用、实现方式以及其...在编程实践中,应根据项目需求选择最适合的实现策略。

    supersu2.79-for enuma.7z

    SuperSU是众多root工具中最知名的一款,它具有友好的用户界面和强大的功能,包括记录root访问日志、设置权限策略、临时/永久root切换等。 至于压缩包内的"supersu2.79"文件,这很可能就是SuperSU的可执行程序或者...

    labj8-lambda-enum

    标题“labj8-lambda-enum”表明这是一个关于Java编程的实验或教程,重点在于使用Lambda表达式和枚举类型来实现策略模式。这个项目可能是为了帮助开发者更好地理解和应用这两种强大的Java特性。策略模式是一种行为...

    设计模式面试题

    - 使用策略模式来处理不同的交易策略,例如根据交易金额的不同采用不同的验证流程。 - 对于安全性方面,可以使用工厂模式来创建不同的安全策略,如PIN码验证、指纹识别等。 **6. 如何设计一个金融行情信息推送系统...

    iOS+中的设计模式+(Swift版本)共66页.pdf

    8. **策略模式**:解释如何使用Swift的枚举和闭包实现策略选择。 9. **命令模式**:探讨如何将请求封装为一个对象,以便于参数化不同请求、支持队列请求或记录日志。 10. **享元模式**:可能讨论如何通过共享对象来...

    设计模式之单例模式

    在Java中,单例模式有多种实现策略: 1. **饿汉式(静态常量)**:这是最简单的单例实现方式,它在类加载时就完成了实例化,避免了线程同步问题。代码如下: ```java public class Singleton { private static ...

    java与模式

    行为型模式主要关注对象之间的交互和职责分配,例如策略模式(Strategy)、观察者模式(Observer)和责任链模式(Chain of Responsibility)。这些模式让代码更加模块化,支持动态改变对象的行为或策略。 “设计...

    23种设计模式说明和代码模板

    包括职责链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式等。 设计模式是程序设计中针对特定问题的常见解决方案,它们不是具体的...

    Java设计模式 影印

    - 策略模式(Strategy):定义一系列算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户。 - 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中,...

    C#23种设计模式

    状态模式根据对象状态改变行为,策略模式定义算法族,职责链模式传递处理请求,访问者模式对对象结构进行操作。 掌握这些设计模式,不仅有助于编写高质量的代码,还能提高团队间的沟通效率,使代码更易于理解和维护...

    Java程序设计模式程序设计.doc

    * Strategy(策略模式):定义一个家族算法,封装每一个算法,并使它们可以相互替换。 * TemplateMethod(模板方法):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 * Visitor(访问者模式):表示一个...

Global site tag (gtag.js) - Google Analytics