随着我的项目越来越多,我发现我经常从一个项目到另一个项目,从一个客户到另一个客户重复许多常见的任务。所以我开始组装一个“实用程序”库,一个项目之间经常重复的这些常见元素的集合。
到目前为止,我拥有调整图像大小、将数据网格导出到 Excel、发送电子邮件和替换标记化消息的实用程序。
如果您正在构建/使用 .NET 实用程序类库,您会认为哪些类型的进程有帮助?您会设想哪些名称空间/组?
更新
我说的是一个实际的类库,它被分成命名空间来对公共元素进行分组。
随着我的项目越来越多,我发现我经常从一个项目到另一个项目,从一个客户到另一个客户重复许多常见的任务。所以我开始组装一个“实用程序”库,一个项目之间经常重复的这些常见元素的集合。
到目前为止,我拥有调整图像大小、将数据网格导出到 Excel、发送电子邮件和替换标记化消息的实用程序。
如果您正在构建/使用 .NET 实用程序类库,您会认为哪些类型的进程有帮助?您会设想哪些名称空间/组?
更新
我说的是一个实际的类库,它被分成命名空间来对公共元素进行分组。
就个人而言,我会将其中一些功能放入单独的库中,因为“实用程序”是一个相当主观的术语,一个人认为有用的东西对其他人没有那么有帮助。
如果在库中将其分解为描述性命名空间,那么我会说这样会更好(例如,调整图像大小将位于某种 .Drawing 命名空间或 .Drawing.dll 中)。
我的类库中有很多东西可以在项目之间共享:
Tuple<..>
等。Set<T>
, Heap<T>
,以及大量用于处理各种类型集合的实用方法当我需要更多东西时,会添加类库。
我建议不要使用“实用程序”库,而是制作特定于域的(图形、身份验证、验证等)库,并且只在需要的地方包含它们。关键当然是决定具体到什么程度。更多的特异性通常更好。
不管它是否没有域,那么您可能并不完全理解它,这意味着您应该重新评估您正在做的事情并首先尝试完成。
另外,请记住,在一两个项目中有用的东西最终可能只在一两个项目中有用。添加不必要的类只会导致后续的维护问题。
虽然我自己只是一个初出茅庐的开发人员,但我发现 RegEx 函数和 SQL 过滤器非常有用。我还拥有 MSSQL 的合并复制功能,到目前为止对我来说非常方便。