Is this the Crudy anti pattern?

后端 未结 3 579
猫巷女王i
猫巷女王i 2021-01-20 03:15

Currently I am creating a WCF service which has to connect to a DAL which, just connects to a database using ADO.net and stored procedures.

The DAl writes its respon

相关标签:
3条回答
  • 2021-01-20 03:18

    Well, there seems to be some controversy about the CRUDy pattern and it's pros and cons. At a minimum, I would call a service interface that makes you write this kind of code to use it an anti-pattern (as commented 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);
    

    Is exposing CRUDy interfaces bad in itself? I wouldn't say so. What's important is to provide an interface which will

    1. encapsulate knowledge about the underlying processes
    2. not be very chatty
    0 讨论(0)
  • 2021-01-20 03:28

    If you have a cruddy use case to implement you will get a cruddy interface, don't sweat it. The anti-pattern is when you implement non-cruddy things in a cruddy way.

    0 讨论(0)
  • 2021-01-20 03:32

    It does seem like the CRUD interface anti-pattern, but it would be good to see some interface examples to confirm.

    This paper has a really good discussion on designing better service interfaces.

    It includes a critique on, and alternative to, the CRUD anti-pattern.

    0 讨论(0)
提交回复
热议问题