About Switch Case
About Switch Case
About Switch Case
About Switch Case
1 | public Money calculatePay(Employee e) throw InvalidEmployeeType { |
以上functoion幾個問題,第一點太冗長,如果再加入新的職員型態時,
這個函式會變得更長。第二點,這個函式做超過一件事情。第三點,因有
超過一個理由來改變此函式,所以違反單一職責原則。第四點,當新型態
加入後,函式就必須有所改變,違反開放閉合原則。最糟糕的問題是,
程式有其它數不清數量的函式和這個函式有相同的結構。
ex:
isPayday(Employee e, Date date)
deliverPay(Employee e, Money pay)