编写处理不同消息的单个函数的方法

Nit*_*rai 2 c# oop design-patterns

我有一个功能,可以在数据库中保存一条消息.根据类型保存消息有不同的方案.例如,我有保存消息,保存消息以进行修复,以及从XML保存消息.

一个明智的方法是创建一个带有参数的单个函数,该参数指定操作类型,并且有一个switch case可以在调用三个不同的方法之间进行选择吗?

到目前为止我想出了这个:

public bool SaveMessage(Message message,
                        List<Image> images,
                        List<Attachments> attachments,
                        string type);
Run Code Online (Sandbox Code Playgroud)

和其他有三种方法:SaveMessage(),SaveMessageForRepair(),和SaveMessageXml().

这是一种合理的方法吗?

Jak*_*cki 5

使用策略模式.

定义一系列算法,封装每个算法,并使它们可互换.策略允许算法独立于使用它的客户端.

http://www.dofactory.com/Patterns/PatternStrategy.aspx