設計的初衷是提高**質量。
在做**設計的時候,一定要理清楚,為什麼要這樣設計,為什麼要應用這種設計模式,這樣做是否能真正地提高**質量,能提高**質量的哪些方面。如果自己很難講清楚,或者給出的理由都比較牽強,沒有壓倒性的優勢,那基本上就可以斷定這是一種過度設計,是為了設計而設計。
設計的過程是先有問題後有方案。
我們先要去分析**存在的痛點,比如可讀性不好、可擴充套件性不好等等,然後再針對性地利用設計模式去改善,而不是看到某個場景之後,覺得跟之前在某本書中看到的某個設計模式的應用場景很相似,就套用上去,也不考慮到底合不合適,最後如果有人問起了,就再找幾個不痛不癢、很不具體的偽需求來搪塞,比如提高了**的擴充套件性、滿足了開閉原則等等。
設計的應用場景是複雜**
對於複雜**,比如專案**量多、開發周期長、參與開發的人員多,前期要多花點時間在設計上,越是複雜**,花在設計上的時間就要越多。不僅如此,每次提交的**,都要保證**質量,都要經過足夠的思考和精心的設計,這樣才能避免爛**效應(每次提交的**質量都不是太好,最終積累起來整個專案的質量就變得很差)。相反如果只是乙個簡單的專案,**量不多,開發人員也不多,那簡單的問題用簡單的解決方案就好,不要引入過於複雜的設計模式,將簡單問題複雜化。
持續重構能有效避免過度設計。
應用設計模式會提高**的可擴充套件性,但同時也會帶來**可讀性的降低,複雜度的公升高。一旦我們引入某個複雜的設計,之後即便在很長一段時間都沒有擴充套件的需求,我們也不可能將這個複雜的設計刪除,整個團隊都要一直揹負著這個複雜的設計前行。為了避免錯誤的需求預判導致的過度設計,建議採用持續重構的開發方法。持續重構不僅僅是保證**質量的重要手段,也是避免過度設計的有效方法。在真正有痛點的時候,再去考慮用設計模式來解決,而不是一開始就為不一定實現的未來需求而應用設計模式。
資料庫分庫分表如何避免「過度設計」和「過早優化」
關係型資料庫本身比較容易成為系統瓶頸,單機儲存容量 連線數 處理能力都有限。當單錶的資料量達到1000w或100g以後,由於查詢維度較多,即使新增從庫 優化索引,做很多操作時效能仍下降嚴重。此時就要考慮對其進行切分了,切分的目的就在於減少資料庫的負擔,縮短查詢時間。資料庫分布式核心內容無非就是資料切...
重構時應避免過度思考
重構是一門在不改變軟體外部行為情況下,改善既有 內部結構的一門技術。從表面來看,重構需要引入大量的思考行為,然而,過度地思考同樣會產生不利的影響。u0026 xd n kent beck提到,重構中面臨最大的挑戰就是如何做到循序漸進,循序漸進指的是如何將工作分解為可控的步驟,並且每個步驟都易於管理。...
四招避免SEO優化過度
在對 進行優化的過程中,很多人往往會將所看到的優化方法不分青紅皂白的一律應用,但這樣一來就往往會出現優化過度的現象,優化過度甚至比不優化還要對 有危害,只需要注意以下四個方面,就可以避免在優化 中經常出現的優化過度的情況。保持原創 避免資料重複 內容一直是 最為重要的部分,在我們發布內容的時候,一定...