有多糟?我已经阅读了无数的文章,并且以前从未创建具有行为的抽象DataContracts,但是这样做似乎可以解决我遇到的一个问题,这将阻止我在各地创建工厂来确定子类实现。我的问题是,如果我决定在数据契约(Contract)中添加行为,是否会受到惩罚?当然,它们不能被消耗,并且可以在调用存储库调用和数据之前持久地执行特定于该子类类型的某些操作。我可以为每个子类创建“管理器”类,但这使我回到工厂,并且我正在尝试一种更加多态的方法。提前致谢。
最佳答案
您可以将所需的所有行为添加到数据契约(Contract)中。您应该清楚地记录以下事实:该行为对客户不可见,否则某人以后会感到失望。还要记录一个事实,必须注意不要将任何与实现相关的数据添加到数据协定中,因为这不是您要传递给客户端的任何内容。
总而言之,我认为最好让数据契约(Contract)成为数据契约(Contract),并把行为排除在外。
关于wcf - 数据契约与行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121020/