天天看點

關于“禁用“操作的思考

1 能否和啟用共享同一個URL

不行,因為權限可能不一樣

2 能否在Domain共享同一個方法,通過入參true和false來區分

不行,因為背後的業務邏輯不一樣,如果啟用和禁用的業務邏輯是單純的update some_table set enabled=true/false where id=?的話說明這個業務邏輯是偏簡單的,和DDD專門解決複雜業務場景的用途不相符.如果業務是複雜的(啟用和禁用不僅僅是一個update)那麼就需要在領域方法内做if判斷,這顯然是重複的.

另外如果入參不一樣的話就更加不能用一個方法了

3 禁用操作的HTTP請求是否應該是DELETE操作

應該說DELETE操作是比較少見的,因為2B的系統往往為了追溯過去,都是采用禁用(在業務層面進行邏輯删除),是以即使有技術層面的邏輯删除,也很少出現DELETE操作.原因有2:

a 禁用後還可以啟用,那麼啟用使用Post操作麼,如果使用Post的話那麼建立時間如何确定呢?

b 從業務上來說,禁用後可查,甚至可以再操作(例如啟用)

繼續閱讀