【发布时间】:2012-04-23 17:51:16
【问题描述】:
我们有一个模块化的 MVVM 应用程序。其中一个界面如下所示
public interface ILogger
{
void ReportError(ErrorType type);
}
ErrorType 类型如下所示
class ErrorType
{
string Message;
string Title;
object Owner;
}
注意类型object。实现 ILogger 接口的模块只需从中调用 GetString(),因为它只需要调用模块的名称。对象的使用对我来说似乎是个问题。我们正在开发一个松散耦合的应用程序,并且我们允许在模块之间传递任何对象?
与可能导致拼写错误的字符串相比,justified as 对象的使用更加灵活并保证提供类型名称。接口的实现者除了调用 GetString() 之外什么也不做。
我请求一些建议。在我看来,对象的使用就像模块不知道如何在它们之间进行识别。像这样使用 object 是不是很好的设计?
我在考虑更多
class ErrorType
{
string Message;
string Title;
string ModuleName;
}
【问题讨论】:
标签: c# design-patterns modularity