solid-principles

    0熱度

    2回答

    我不明白接口隔離原理和開放/閉合原理之間有什麼不同。 我的理解是,ISP必須使所有的東西都依賴於接口和類上的OCP,我發現它們都可以用相同的方式實現,只有一個接口和一個類。

    1熱度

    1回答

    在System.Data.Entity命名空間中有DbFunctions類。它有將近100個處理字符串操作,DateTime計算和統計函數的函數。 SO上有很多SRP問題,所以覺得這是合適的論壇。 Wikipedia定義SRP如下: 單責任原則指出每個模塊或 類應該具有超過由軟件提供的功能 單個部分的責任,和責任應該由類完全 包封。它的所有服務都應該狹義地對準 與責任 在我看來,這DbFuncti

    3熱度

    2回答

    以我控制器,所有相關性通過注射接受,繼Dependency inversion principle,除了一個,映射器類,其由構造函數實例: public class HomeController : Controller { private readonly ISomeAppService SomeAppService; private readonly Mapper Map

    1熱度

    1回答

    在我看來,鮑勃馬丁需要一個以O開頭的東西來製作SOLID,並在一些舊書中找到了這個(可能無用的)開放/封閉原則。 開放/關閉如何與單一職責並存,表明一個班級應該有單一的變更理由? 如果我想關注長時間生活系統中的開放/關閉,我是否應該有一個數十/數百個類的鏈,每個類都擴展前一個?

    0熱度

    1回答

    我想序列化包含純數據的模型對象(來自WPF MVVM)。這聽起來很簡單,但我不想使用.NET Framework中提供的Serialization屬性和東西。我只是想用我自己的方式序列化它。 所以這裏是我的一個類的簡化版本。 public class EntryKeyValuePair { public EntryKeyValuePair(string key, string valu

    2熱度

    1回答

    我有和接口和實現如下。 如果一個數字可以被顧問整除,它將顯示名爲「可分割」的內容。 現在,新的增強功能出現在我需要根據時間更改文字的地方。 如果數字是可以整除的,並且時間是12:00 PM,則顯示「可分割***」。如果時間不是「12:PM」,則顯示舊值i:e「可分割」。 我知道它可以做到,但條件是我們不應該違反SOLID原則。我所做的設計是錯誤的嗎?請建議。 public interface IR

    0熱度

    1回答

    我提到過我沒有用DTO的很多東西。我在DataTransfereObjects上玩弄polimophism。我找不到一個很好的解決方案,所以我已經使這個代碼示例掌握了DataTransfereObjects和不同邏輯實現的多態性,使用Polymorphism,泛型,接口,抽象等等。 請檢查驗證碼。告訴我什麼是壞的,可以做得更好或更容易。檢查accessmodifier,同時檢查SOLID(認爲我沒

    7熱度

    3回答

    爲什麼java.util.Iterator接口有方法remove()? 當然有時候這種方法是必要的,並且都已經習慣了它的存在。但實際上,迭代器的主要和唯一目標只是提供訪問容器元素。當有人想爲這個界面創建他自己的實現,並且不能或不想以任何理由提供去除元素的能力時,他就會被迫拋出UnsupportedOperationException。拋出這個異常通常表明一個不太精心設計的架構或一些設計缺陷。 真的

    2熱度

    4回答

    我的應用程序正在跟蹤mixpanel的信息,但會跟蹤所有內容。所以當我正在測試或調試時,它也跟蹤。我想知道是否有禁用乾淨/最好的方法跟蹤比這更好的在每一個mixpanel電話: if (!BuildConfig.DEBUG) { // track events }

    1熱度

    3回答

    我想學習依賴倒置原則。目前我的代碼是這樣的 class Example { public function __construct($input, $output) { $input_handler = new InputHandler($input); $output_handler = new OutputHandler($output); $i