我必须计算大约300个不同的分析方法,例如1.计算给定集合的平均值,2.计算给定集合的中值等,这些计算器将在批处理过程中用于从一组数据中计算分析。我计划创建一个具有所有公共逻辑的AbstractCalculator,然后核心实现将在每个子类的计算方法中可用。我想知道是否有更好的方法,或有一个现有的设计模式,我可以参考这样的要求。我看到的唯一问题是很难管理300个孩子classes.Is --谢谢沙克蒂,有一个更好的方法来处理这样的需求。
发布于 2015-06-30 18:37:27
您正在搜索策略设计模式(pattern)。
策略使算法独立于使用IT1的客户端。1策略是Gamma等人在“设计模式”( Design )中包含的模式之一。这就推广了在软件设计中使用模式的概念。
策略模式指定您有一个超类,例如AbstractCalculator有一个方法计算(设置输入)
要添加到程序中的每个函数都可以通过声明继承自AbstractCalculator的新类来添加;函数(例如计算给定集合的平均值)是在子类的计算方法中实现的。
实际上,您必须用这种模式来实现300个不同的类--我建议您在一个库中声明您的函数,该库用更少的类实现所有函数。
https://stackoverflow.com/questions/31145841
复制相似问题