【发布时间】:2018-08-13 20:31:39
【问题描述】:
我正在处理一个大型工业规模的系统。它有数百种配置设置,具有多种重叠组合。
例如。方法:发送消息(消息对象) 设置: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();
...
}
这是我试图解耦代码并使其可维护的尝试。这也意味着重复、冗余,并且对于每个新设置,都应该声明一个新方法。
这是一种可接受的方法吗?实现这些设置的最佳方法是什么?有没有解决这个问题的软件架构或设计模式?
【问题讨论】:
标签: design-patterns configuration architecture settings