引子: 想到這個話題,不得不吐槽一個親身經歷的故事
要說設計模式,用的最多的莫過於java程序員,尤其是愛講抽象和繼承什麼的,曾經有這樣一個案例
B類業務和C類 業務都會產生訂單,然後B類業務和C類業務訂單有某些共同字段,比如c1,c2 … …
然後公司的老程序員是這樣設計類的
public class Common {
}
class B extends Common {
}
class C extends Common {
}
然後當時在數據庫層面,表被分爲3個
1. common table
2. B table
3. C table
同一張表被硬生生的拆成了兩張表,這種拆分只是理論上有意義,拆分在實際上節約不了存儲空間,對使用也會造成巨大的麻煩
當年,筆者還是個菜鳥,對此未報異議,如今想來真的挺可笑
PS: 我覺得java 程序員(尤其是做業務系統的)視野真的挺狹窄的,真的有必要學習一下其它的語言和框架,瞭解一下反範式設計,以及no sql 的數據庫
某些java中繼承層級過深(4,5層)真的讓人深惡痛決啊。