Skip to main content

Ch20: 業務規則

  • 業務規則:用來賺錢或省錢的規則或程序,軟體系統存在的原因(= 軟體實現的目標)。
  • 關鍵業務規則(Critical Business Rule) & 關鍵業務資料(Critical Business Data)
  • 關鍵業務規則:操作關鍵業務資料

Entities

= 用來實際體現(embodies)關鍵業務規則與關鍵業務資料 and (or) 關鍵業務規則如何操作關鍵業務資料。

goto

  • not OOP
  • 這樣的業務規則應該不相依於各種其他的系統部件,
  • 他應該是獨立的模組

ER model DB

Use Case

= 描述使用業務規則的方法。ex. 順序、情境、前置條件。

  • Entity 不應該知道自己是被哪個 use case 所使用。而是 Use Case 依賴 Entity。
    • Q: 案例設計到支付方式... ex. 使用 iphone 的人購物用 Apple Pay 有優惠 goto

Request and response model

  • Use case will describe(accept) request struct and (return) response struct.

  • 如果 request and response model 不獨立, use case 將被綁定到 model 依賴的依賴的任何關係上。

    • httpRequest & httpResponse => use http protocal
    • graphQL
  • Entity 結構看起來很好用是陷阱

    • DTO v.s DAO

Conclusions

  • Business rules are the reason a software system exists.

bgm: Let You Down by Dawid Podsiadło