srp

    3熱度

    2回答

    由於標題狀態,我想知道是否我的驗證類有權訪問我的模型中的所有屬性是一個好主意。理想情況下,我希望這樣做,因爲有些字段需要10個其他字段來驗證它是否有效。我可能但寧可不具有10 +參數的功能。或者是否會讓模型和驗證器與另一個耦合?這是我的意思的一個小例子。然而,這段代碼不起作用,因爲它給了一個無限循環! Class User Private m_UserID Private m_

    6熱度

    4回答

    鑑於Mixins通常會將新行爲引入類中,這通常意味着一個類將具有多個行爲。 如果一個班級有單一責任,則將其定義爲只有一個變更理由的班級。 所以,我可以從兩個不同的角度 類只有一個變更理由看到這一點。混入的模塊也只有一個原因需要改變。如果班級改變,只有班級需要重新測試。如果模塊更換,只有模塊需要重新測試。因此,SRP是完整的。 這個班現在有兩個變化的原因。如果班級更改,班級和模塊都需要重新測試。如果

    5熱度

    1回答

    我讀Bob Martin's principles of OOD, specifically the SRP text,我明白它的說法很好的精神,但我不太明白一個特定的措辭,從鏈接(書的第150頁)第2頁: 我釋義: 將這兩項責任分爲不同的班級很重要,因爲每個責任都是變化軸。 這裏的「變化軸」是什麼意思?

    5熱度

    3回答

    假設我們正在設計一個執行CRUD(創建,讀取,更新和刪除)操作的UserServiceImpl類。在我看來,創建,閱讀,更新和刪除是班級改變的四個原因。這個班是否違反單一責任原則?如果違反,我們應該有CreateUserServiceImpl,ReadUserServiceImpl, UpdateUserServiceImpl和DeleteUserServiceImpl這四個等級。有很多 類是不是

    2熱度

    3回答

    單一職責原則說明,例如,Invoice類不應包含自行打印的代碼。打印應該分成不同的類別。 但是假設你有Invoice類的軟件的不同層的層次結構: namespace CoreLayer { public class Invoice { public virtual void Print() { ... } } } namespace

    7熱度

    3回答

    我最簡單的ASP.NET MVC 2控制器調用我的服務層並將視圖模型映射到使用AutoMapper的實體。一切都很美妙,沒有重複的代碼。 然而,當我進入我哪裏有類似行爲我有麻煩平衡單一職責原則(SRP)的情況與不重複自己(DRY)。例如,可能需要添加/編輯車輛,其中一些屬性/行爲是共享的,而另一些則是特定車輛所特有的。 如果我追求真正的瘦控制器(從而履行單一責任原則),我最終在視圖和控制器中重複代

    2熱度

    2回答

    在遺留的代碼庫中,我有一個非常大的類,其中有很多字段/職責。想象一下,這是一個披薩對象。 它具有高度細化的領域,如: hasPepperoni hasSausage hasBellPeppers 我知道,當這三個字段是真實的,我們有一個至尊比薩。然而,這個類沒有擴展或改變,所以我不能添加PizzaType或isSupreme()等等。整個代碼庫中的所有人都在同一個地方複製相同的邏輯if(a &&

    4熱度

    2回答

    我剛剛閱讀了單一責任原則,羅伯特C.馬丁曾說過,有時很難看出一個班級有多個責任。 任何人都可以提供這樣一個類的例子嗎?

    3熱度

    6回答

    這可能有點主觀,但我想獲得關於當前情況的意見。我有一個將用於序列化/反序列化對象的類。 public class MyClass { public static string ToXmlString(MyClass c) { /*...*/ } public static MyClass FromXmlString(string xml) { /*...*/ } } 我

    6熱度

    2回答

    我見過的大多數ASP.NET MVC示例都描述了用戶正在查看對象(或對象集合)然後從該頁面移動到該頁面的場景顯示用戶完成的表單。在提交具有良好輸入的表單後,用戶將重定向回顯示對象(或列表)的頁面,並且用戶可以看到他們的更改已成功。 我遇到了每個業務規則都沒有視圖或列表頁面的場景。 在ASP.NET MVC中,這種情況有哪些好方法? 在傳統的ASP和ASP.NET的舊時代,我會處理輸入,然後向用戶顯