有一項服務可與Customer
實體一起使用。我應該爲每種服務方法創建單獨的DTO類嗎?
服務已經執行GetCustomer
方法,該方法返回CustomerDTO
。
服務必須實施方法來更改客戶的Phone
,Address
,SalesManager
和Discount
。客戶只能更改Phone
和Address
,銷售總監只能更改客戶的SalesManager
,而銷售經理只能更改客戶的Discount
。
- 我應該只創建一個服務方法
ChangeCustomer
?- 我是否應該使用
CustomerDTO
作爲GetCustomer
方法中的返回類型,例如,ChangeCustomer(CustomerDTO)
? - 我是否應該使用其他一些
CustomerChangeDTO
,例如ChangeCustomer(CustomerChangeDTO)
?
- 我是否應該使用
- 我應該創建一些服務方法
ChangeCustomerPhone
,ChangeCustomerAddress
,ChangeCustomerManager
和ChangeCustomerDiscount
?- 我是否應該在每種服務方法中使用
CustomerDTO
,例如,ChangeCustomerName(CustomerDTO)
,...? - 我應該在每個服務方法中使用單獨的DTO類,例如:
ChangeCustomerName(CustomerNameChangeDTO)
,...?
- 我是否應該在每種服務方法中使用
- 也許一些其他的服務方法?
似乎單個DTO類使服務在客戶端上更容易使用,因爲所有客戶端必須要做的是請求CustomerDTO
,更改它的一些屬性併發回。服務是處理CustomerDTO
中的所有更改,並將業務邏輯應用於實體以及其他實體。
每個變種都有其他優點/缺點嗎?