【发布时间】:2010-11-29 01:37:43
【问题描述】:
我的项目中有类似的东西,该项目已经完成了(它正在工作) 我只是想知道 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:使用示例表明这绝对是计划,很好(我读了它,甚至没有注意到 - 这是一个非常糟糕的主意!)
-
+1 提出一个好问题:是的……这违反了 SRP。
标签: c# oop solid-principles