設計模式之單一職責原則學習

2021-06-06 05:02:01 字數 824 閱讀 1357

單一職責原則:就乙個類而言應該僅有乙個引起它變化的原因。

比如寫乙個視窗應用程式。我們會建立乙個類,將各種各樣的**,如某種演算法的**或是訪問資料庫的**,都放在這個類中。以後一旦需求有所更改就必須修改這個類。各個功能的耦合性太大,牽一髮而動全身。維護很麻煩,復用不可能,也缺乏靈活性。由於c

語言是我的第一門程式語言,這麼多年的使用,面向過程的思想早已根深蒂固。短時間很難培養起使用物件導向開發的習慣。看來任何東西都有兩面性,在學

c++之前先學習

c語言可能對入門有幫助,但也有一些弊端。世上很多東西都是矛盾的,重要的是要從這些矛盾中找到乙個平衡點。

如果乙個類承擔的功能過多,就等於把這些職責偶合在一起,乙個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭到意想不到的破壞。

俄羅斯方塊遊戲的設計

應該考慮將程式至少分為兩個類:乙個是視窗類,用於處理介面互動。另乙個是遊戲邏輯類。當有一天要改變介面或是移植到其他平台上就不涉及遊戲邏輯的改變。

對於遊戲邏輯設計,方塊的可移動區域,可以用乙個二維陣列進行表示。對方塊的各種操作就是對二維陣列值進行的操作。

。我覺得也需要兩個大類,首先是各種圖形的表示類,比如口型,l型,1型。給出它的各個成員在二維陣列的座標。它們應該從乙個共同的基類繼承。另外乙個是對圖形類進行操作的操作類。比如左移、右移、變形以及碰撞檢測、消行等。可以考慮使用策略模式來對各個圖形類進行管理。

**稍後奉上。。。。。

軟體設計真正要做的內容,就是發現職責並把那些指職責分離。如果能找出多於乙個動機去改變乙個類,這個類就具有多個職責,此時就應該考慮職責分離。

設計模式學習之單一職責原則

乙個產品簡單一些,職責單一一些,或許是更好的選擇。乙個類而言,應該僅有乙個引起它變化的原因。打個比方,我們在新建乙個winform應用程式的時候,就會有個form類自動生成,那麼,在這個自動生成的類裡面,我們不能把所有的 都往裡面填,什麼db連線,邏輯層的 等等都往裡面塞。萬一哪天要改個需求,你就得...

設計模式之單一職責原則

關於單一職責原則,我想大家都聽過不少,今天來看看這個原則具體是什麼,有哪些好處使我們需要選擇遵守它呢?一 定義 乙個類只能因為乙個原因而修改。怎麼理解呢?簡單來說,乙個類只能實現一項功能,或者換句話說,乙個類只有乙個職責,只有當這個職責發生變化,它才會被修改,說白了就是乙個類質感乙個類該幹的事。二 ...

設計模式之單一職責原則

首先就名字而言不難想象,單一必定是只能有乙個,而這個乙個指的是什麼呢,那就是乙個職責。而職責通俗易懂來說就是乙個功能,乙個類只能有乙個功能,而如果有兩個及以上的功能就不再符合單一職責原則了。就好比乙個水壺,它的功能就只是裝水,而不存放別的東西,那它就滿足了單一職責原則。優點有複雜度低,或者說簡單明瞭...