srp

    0熱度

    1回答

    比方說,我們有一個功能,主叫方該功能 function baz(){ myVar = null; foo(myVar); } function foo(bar){ //do stuff } 應在參數的驗證發生在哪裏? 這可能是 function baz(){ myVar = null; if(myVar != null){

    0熱度

    1回答

    今天我決定開始依靠PHP框架,因爲每次從頭開始編寫都非常耗時。作爲我的框架,我選擇了CodeIgniter,並且我想說這很棒,易於使用。但我有一些問題和困惑。我不確定如何構建我的網站,因爲我不知道何時使用模型以及何時使用控制器。 我有現在的問題是: 頁面控制器 // PAGES CONTROLLER // As its name, this controller simply loads pag

    0熱度

    2回答

    我有,我用我的Codeigniter的應用程序,處理註冊我的前端用戶控制器,登錄,忘記密碼,視圖(配置文件)頁,我想在這裏最好的地方決定是一個功能去發送電子郵件功能。如果某件事最適合圖書館功能,或者應該放在其他地方。 我問這個,因爲我真的想把重點放在OOP裏面的Single Responsibility Principle和Polymorphism。 有人可以或許給一些對我怎麼能來的好去處他們最好

    4熱度

    1回答

    在我的域圖層中,我有一個名爲'Client'的類。通常,我只會創建與該客戶端在類中直接相關的屬性,例如 - '名字','姓','地址'等,以及與客戶端相關的方法。 我的問題是,它會被認爲是不好的OO設計添加一個方法,在這個類上執行工作的客戶端集合? E.g. - 可以說我想在客戶端執行某項操作,例如更新其電子郵件地址。在我執行此操作之前,我想確保沒有其他客戶端具有相同的電子郵件地址,因此我創建了一

    1熱度

    1回答

    由於SRP說: 類或模塊應該有一個,且只有一個理由去改變 我有一些倉庫類對於實施CRUD操作的每種類型的實體(每種類型,一個存儲庫)。 因此,這些類型的存儲庫類似乎有多個更改原因,例如每個查詢條件可能會發生變化等。 這種情況對於應用程序服務類也是如此,我認爲。 我的問題是: 是否會導致使用這種類型的存儲庫或應用服務類的,違反SRP? 如果違反,我該如何處理這個問題?

    0熱度

    2回答

    我有一個類,它爲Windows窗體文本框添加了一些功能。例如,它處理文本框關鍵事件並基於某種邏輯,如果按下「Enter」,則會顯示一個特殊的網格,讓用戶從大量實體中選擇一個實體。所以我稱這個類爲'Textbox Extender',文本框爲'Extended'。 現在,我想讓用戶知道是否通過更改背景顏色來擴展文本框,很容易向類中添加此功能BUT: 我非常懷疑它違反單一責任原則。任何想法是高度讚賞。

    0熱度

    1回答

    我希望我能說清楚我正在努力:-)在這裏。 我想知道如何在以下情況下實施SRP: 有一個項目。完成後,聯繫人必須郵寄一份調查問卷,並在其中提供有關項目進展情況的反饋。 該軟件有一個項目級。有一個循環遍歷所有項目的過程。 我已將所有用於郵寄的代碼分離到名爲ContactMailer的類中,該類將項目作爲參數,如ContactMailer.AttemptMail(project); 但是在某些情況下郵件

    3熱度

    1回答

    驗證Scala中的一個類凝聚力的方式我的目標是建立一個有效的User實例之前驗證小號apply方法User「的object內S場」: case class User(String userName, String password) object User { def apply(userValidator: UserValidator): ValidationNel[UserCr

    1熱度

    1回答

    關於單一責任原則以及無處不在的關於太大類的警告,這些如何適用於實體類?根據其本質,實體是不是應該把所有關於一個實體的東西都包含在一起?這不是他們的「單一責任」嗎?否則,假設你的實體類正在變得像某些人所說的「太大」,你將如何在不破壞該實體應該提供的自然封裝的情況下真正分解它?如果你有一個Person類,只有一個名字,年齡和最喜歡的食物,那麼顯然它們都應該是Person的屬性。但是,如果您需要添加20

    0熱度

    2回答

    我想知道:mapper抽象有多複雜? 比方說,我有一個控制器的動作 ActionResult Find(QueryInputModel query) 與模型看起來像這樣 class QueryInputModel { public string Text {get;set;} public IEnumerable<string> RegionCodes {get;set;