Re: [問題] Pattern in Java
※ 引述《shoaming (修明)》之銘言:
: 我想請問一個問題
: A class related to a program's problem domain should not be a subclass of a
: utility class.
: 這句話代表什麼意思?
: 還有什麼是program's problem domain有人可以解釋這是什麼嗎?
以我猜想,這句話是在討論 utility class 相關的寫作風格。
所謂 utility class ,通常是指所有的 member function 都是 static 的 class 。
因為 java 不允許存在單純的 function,所以要做一些 tool function 就要寫成這樣,
例如 java.util.Arrays 就是例子。
而像這樣的 utility class ,如果你寫一個 class 去繼承它,通常是個很怪的設計,
因為這樣並沒有意義,多半是設計上出了問題,所以一般這種 class 還會寫成 final
class 。當然,也會有功能上是 utility function 但以繼承來設計,但比較少見。
program's problem domain 是指你寫這個程式所要解決的問題是什麼 (domain 這個詞
洋人愛用 :)),例如你寫 matrix 計算就會有 Matrix class ,你寫租片系統就會有
Member, Title 等 class 。不管你是寫什麼東西,這些與 problem domain 相關的
class 都不應該去繼承 utility class 。雖這麼說,有人為了方便會隨便亂繼承就會
寫出這種所有 class 繼承某個 utility class 的設計,而這普遍認為是不好的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.242.10
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章