2012-10-14 254 views
3

SRP - 每個類應該只有一個責任(即理由改變)關注的
分開是打破了計算機程序轉變爲在功能少 地重疊特色鮮明的過程。一個問題是關於程序中的任何興趣或焦點。 (關注==系統的功能)。關注與責任之間的區別(即SRP和SoC之間的區別)?

一)我的理解這兩者之間的唯一區別是,SRP試圖分開責任成不同的SoC試圖分開關注分成不同模塊?!

b)若下一個假設)是正確的,是什麼關注責任(除了一個事實,即責任存在於抽象的較低水平)之間的區別?

謝謝

回答

1

這就是我如何看待他們 - 同樣的原理,通常在不同的抽象層次的引用。

+0

謝謝你們的幫助 – user702769

1

不錯的問題。 :) 免責聲明:只是我的想法。我沒有想過以前的區別。我認爲這兩個概念之間沒有太大的區別。

但是,這裏是我要說的: 我只知道橫切的問題。正如你所說的那樣,儘管關心的基本思想是任何一個計劃的利益或焦點,但是如果這些問題不是交叉的話,這些問題就會成爲責任嗎?

我認爲原理是一樣的。甚至我的理解和你的理解一樣。 在購物車系統中,將物品添加到購物車可以被視爲一個顧慮......用例應該做的主要事情。涉及的類並不真正關心日誌記錄,安全性等。即使日誌記錄不存在,項目也可以添加到類中。但對於購物車或服務必須公開功能才能添加項目,否則用例失敗。 同樣,對於日誌用例,如果日誌記錄器無法記錄活動,則意味着日誌記錄用例不起作用,即使該項目已添加到購物車。

有點像,誰的責任是將物品添加到購物車? (比方說CartService)如果AddItemToCart故事失敗,它會被追究責任嗎?是。如果LogAddItemActivity失敗,它會被追究責任嗎?不是AddItemToCart與日誌記錄活動有關的故事。它是。它可以與CartService負責的活動分開嗎? 模塊和類是不同級別的抽象。