單一職責模式(rsp):就乙個類而言,應該僅有乙個引起它變化的原因如果乙個類承擔的職責過多,就相當於把這些職責耦合在一起,乙個職責發生變化可能會削弱或者這個類完成其他職責的能力。這種耦合將會導致脆弱的設計,當發生變化的時候,設計可能遇到了意想不到的破壞。
就以我們平常所玩的俄羅斯方塊遊戲來說,假若說我們在電腦上開發了這款小遊戲,執行很完美。現在我們想把這個遊戲放到網頁中去執行,但是發現我們把遊戲的介面和遊戲中的邏輯寫入到了乙個類中,很難分離。
遊戲的邏輯包括了:方塊的移動,堆積、旋轉、出現新的元素等。
如果我們把遊戲的邏輯和介面進行分離,如果我們想把遊戲移植到其他場景時,那麼我們就只需要更改介面的設計,不用將遊戲的邏輯進行大規模的更改了。
單一職責模式,就是讓每個功能進行分離,盡可能的讓每個功能是單獨的,每個類實現乙個功能。讓不同的功能之間的耦合性減少,減少功能變化是所導致影響其他功能。
設計模式之單一職責原則
關於單一職責原則,我想大家都聽過不少,今天來看看這個原則具體是什麼,有哪些好處使我們需要選擇遵守它呢?一 定義 乙個類只能因為乙個原因而修改。怎麼理解呢?簡單來說,乙個類只能實現一項功能,或者換句話說,乙個類只有乙個職責,只有當這個職責發生變化,它才會被修改,說白了就是乙個類質感乙個類該幹的事。二 ...
設計模式之單一職責原則
首先就名字而言不難想象,單一必定是只能有乙個,而這個乙個指的是什麼呢,那就是乙個職責。而職責通俗易懂來說就是乙個功能,乙個類只能有乙個功能,而如果有兩個及以上的功能就不再符合單一職責原則了。就好比乙個水壺,它的功能就只是裝水,而不存放別的東西,那它就滿足了單一職責原則。優點有複雜度低,或者說簡單明瞭...
JAVA設計模式 單一職責模式
現實生活中我們現在擁有太多的各種各樣的產品,它們的功能很多各各樣,但是我們同時間也會發現在乙個產品當中 的每種功能,其實生活當中還是有對應一種功能的產品,而且可能這功能單一的產品比那功能多種多樣的產品還要貴 呢,所以說有的時候一種東西功能單一其實更加好用,比如手機有照相,上網,攝像等功能,但是它的這...