配置相关行为的最佳和常见做法

时间:2018-03-06 03:55:40

标签: design-patterns configuration architecture settings

我正在处理大型工业规模系统。它有数百个具有多个重叠组合的配置设置。

离。方法:SendMessage(MessageObject) 设置:MessageType(1,2,3,4)

消息类型更改sendMessage的行为: 我经常会遇到这样的代码:

sendMessage(MessageObject)
{
  switch(messageType)
  case 1: code for Behaviour1
  case 2: code for Behaviour1 + some other behavior
  case 3: code for Behaviour3
  case 4: code for case 2 + some other behaviour
  ...
}

因此,当我清理它时,我就这样做了。

sendMessage(MessageObject)
{
  switch(messageType)
  case 1: sendMessageType1();
  case 2: sendMessageType2();
  case 3: sendMessageType3();
  case 4: sendMessageType4();
  ...
}

这是我试图解耦代码并使其可维护的尝试。这也意味着重复,冗余,并且对于每个新设置,都应该声明一种新方法。

这是一种可接受的方法吗?实施这些设置的最佳方法是什么?是否有像解决这个问题的软件架构或设计模式?

1 个答案:

答案 0 :(得分:0)

您可以避免使用以下方法使用(basePrice * ((100+increaseRate)** _owned))/(100 ** _owned) 语句,这可能看起来过于工程化。

switch