我想知道如果我希望我的模型(MVC 的“M 部分”)根据它们的来源引发异常,使用装饰器模式是否很好。我自己解释。
我有一个名为 Game 的类,它是模型的一部分。我有两个视图:一个 GUI 和一个命令行。我希望我的模型在用户输入字符而不是数字时引发命令行视图异常(例如)。当然,我不希望模型处理此异常,因为它“属于”命令行而不是模型本身。
为了封装这两种不同的行为,我打算用两个类来装饰 Game 类:CommandLineGame 和 GUIGame,它们只有一个属性:Game 并处理它们自己的异常类型。这是个好主意吗 ?有更好的吗?这种解决方案的问题是,每个模型类都必须根据其来源引发异常...