我有這樣的事情在我的項目,它還挺已經完成(它的工作) 我只是想知道,如果它是確定與固體原則這違反了SOLID原則嗎?
static public class Tools
{
static public GetProduct(this id){...}
static public GetProductCategory(this id){...}
static public GetUser(this id){...}
// I also have here methods like IsStringNull ...
// IsNull IsFalse, lots of stuff, everything static
}
,並使用該項目是這樣
var UserThatCreatedCategoryForThisProduct =
prodId.GetProduct().CategoryId.GetProductCategory().Creator.GetUser();
我知道這很明顯,它違反了SRP,但是這個類是靜態的,它包含了彼此獨立的靜態方法,如果我爲每個方法創建一個靜態類,它是相同的
這些是擴展方法嗎?語法看起來有點偏離。 – peterchen 2009-09-17 08:06:35
@peterchen:使用示例顯示這絕對是計劃,很好的抓住(我讀過它,甚至沒有注意到 - 這真是個壞主意!) – 2009-09-17 08:33:10
+1對於一個好問題:是的......這違反了SRP。 – 2012-07-02 13:19:13