2016-11-02 46 views
1

這是衆所周知的是演員應該分配的最小的任務可能

演員應該分配的最小的任務可能

但是,什麼是最小的任務是什麼?

例如,我們有一些發送電子郵件的代碼。這是一堆課程。第一個類將傳入的對象轉換爲DTO對象。第二類提取模板並將DTO應用於它。第三類通過電子郵件發送結果。這裏的演員是什麼?這是每個班級的方法,還是班級或整個行動?

我擔心的一個問題是,如果我製作的演員太小,在IDE中更難以瀏覽代碼,難以調試和閱讀代碼。是什麼在我的例子製作得小演員的利益(在我的例子,我寧願做一個演員,將調用這三個類。爲什麼我不應該這樣做呢?)

+0

你能提供你的引文來源嗎? – talex

+1

我認爲你對於爲什麼演員的任務不應該儘可能小做出很好的論點。 –

+1

參與者模型是併發計算的模型。因此,本質上不兼容的部分(例如mappers,如你所描述的)不應該被放入演員。 – rethab

回答

0

衆所周知報價,是(可能...)取自Scala - Intro To Akka

如果是這樣,它也採取斷章取義

因爲,如果你說幾句話下來的句子移動,這比你會得到一個更大的圖景:

要盡最大可能,每個演員應該被分配最小的任務可能(如前面?討論,繼單一職責原則)現在

,那link向您閱讀一些有關SRP,但我真的想進一步的(更好)讀數超出有:

等谷歌它...

希望這可以讓你開始。祝你好運!

編輯:我沒有回答你的具體問題(例子等......),因爲我相信每個應用程序和用法是不同的,需要獨特的視圖和獨特的答案。所以我建議你閱讀,理解並做出一個有效的/思考的決定。

+0

是的,我忽略了「遵循單一責任原則」這一部分的目的,因爲「單一責任原則」相當模糊。例如,就我的電子郵件而言,有時可以將三個班級合併爲一個。甚至更多。如果還有三節課,我覺得爲所有人制作一個演員是很正常的。但是,當人們讀到這句話時,他們大多認爲你應該儘可能地做出儘可能小的演員,這將是最好的。我不同意他們,並問這個問題:) –