【问题标题】:Design pattern - Best place for helper class [closed]设计模式 - 帮助类的最佳场所[关闭]
【发布时间】:2021-06-28 01:41:08
【问题描述】:

我有一个关于源代码结构的问题。我应该分配什么包来实现一些逻辑。

这是我的源代码结构。让我解释一下:

我在获取航班信息时有很多规则,比如行李限额规则(BaggageAllocationRule.java)、餐食规则、座位分配规则…… 以上所有规则都有共同的信息,定义在 FlightCommonRule 类(扩展抽象类 Rule)中。 然后,我有抽象类 RuleMatcher,它提供了查找匹配规则的函数。 RuleMatcher有2种,SingleHitRuleMatcher(最多返回一个规则),MultipleHitRuleMatcher(返回多个规则)。

我认为 BaggageAllowanceRuleMatcher、SingleHitRuleMatcher、MultipleHitRuleMatcher、RuleMatcher 分配在错误的包(模型)中。

我应该如何重构源代码?

【问题讨论】:

标签: java spring design-patterns structure helper


【解决方案1】:

我认为没有一个正确的答案。但我更愿意这样做。基本上在“com.rule”命名约定中,您可以将“rule”作为您的应用程序名称(这是您的基本包)。在里面你可以有“模型”和“匹配器”包。我认为没有必要在“模型”包中包含“规则”,除非您有太多与规则无关的其他模型类(在构建规则服务时无论如何都不应该是这种情况)。

com.rule.model
      Rule1.class
      Rule2.class

com.rule.matcher
      Matcher1.class
      Matcher2.class

【讨论】:

    猜你喜欢
    • 2016-11-13
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多