用于分析计算的Java设计模式

时间:2015-06-30 18:34:01

标签: java design-patterns

例如,我必须计算大约300种不同的分析 1.计算给定集合的平均值 2.计算给定集合的中位数 等等 这些计算器将用于批处理,以根据一组数据计算分析。 我打算创建一个AbstractCalculator,它将具有所有通用逻辑,然后核心实现将在每个子类的计算方法中可用。 我想知道是否有更好的方法,或者是否存在我可以参考此类要求的现有设计模式。只有我看到的问题是管理300个子类很难。有一个更好的方法来处理这样的要求 谢谢 沙克蒂

1 个答案:

答案 0 :(得分:2)

您正在搜索策略设计模式 (https://en.wikipedia.org/wiki/Strategy_pattern

  

策略允许算法独立于使用它的客户端。[1]战略是Gamma等人在有影响力的着作“设计模式”中所包含的模式之一。在软件设计中普及了使用模式的概念。

策略模式指定你有一个超类,例如AbstractCalculator,带有方法calculate(Setinput)

您要添加到程序中的每个功能都可以通过声明添加 一个继承自AbstractCalculator的新类;函数(例如,给定Set的平均值的计算)在子类的calculate方法中实现。

事实上,你必须使用这种模式实现300个不同的类 - 我建议你在库中声明你的函数,它实现了所有 功能少了很多。