目前我正在创建一个WCF服务,它必须连接到DAL,只需使用ADO.net和存储过程连接到数据库。
DAl将其数据库的响应写入数据合同,通过该服务将数据传输到客户端。
我读到这可能是反模式'CRudy Interface',但我不确定我是否正在分享数据合同。
如果我使用反模式,是否有人可以建议更好的模式用于我需要的行为?
答案 0 :(得分:4)
嗯,似乎有一些关于CRUDy模式的争议,它的优点和缺点。至少,我会调用一个服务接口,让你编写这种代码来使用反模式(如注释here):
service.CreateCustomer(c);
foreach(Group group in c.Groups)
service.AddCustomerToGroup(c.CustomerId, group.GroupId);
foreach(Person person in c.Contacts)
service.AddCustomerContact(c.CustomerId, person);
暴露CRUDy接口本身有什么不好吗?我不会这么说。重要的是提供一个
的界面答案 1 :(得分:2)
答案 2 :(得分:1)
如果你有一个肮脏的用例来实现你会得到一个肮脏的界面,不要流汗。反模式就是当你以肮脏的方式实施非肮脏的东西时。