c# - 在 C# 中组织程序集(程序集结构)

标签 c# .net

假设您正在编写一个像 Photoshop 这样的应用程序,其中有效果(滤镜)等,是否应该使用单独的项目将每个滤镜作为一个单独的程序集?

主要思想是将这些过滤器中的每一个都作为节点,所以可以这样想:

sourceImage -> Sharpen -> Darken -> Contrast -> Blur ...

在我看来,拥有像这样的 dll 文件是有意义的:

[Filters folder]   
Sharpen.dll  
Darken.dll
Contrast.dll
Blur.dll

但是这样管理它们会很困难,而且这会阻止我对类成员使用 internal 关键字,对吧?

所以现在我只有 1 个 dll 用于所有过滤器。

组织集会的最佳做法是什么?

最佳答案

我不会将自己局限于每个组件一个过滤器。您可能希望对实现类似功能的程序集进行分组 - 例如颜色/对比度在一起,同时将它们与非常不同类型的滤镜(例如边缘增强)分开。

只是一个轶事证据:我经常看到应用程序由于有太多许多程序集而难以管理。我不记得曾经见过一个有问题的人,因为它没有足够地拆分组件。我并不是说这不可能发生 - 只是我还没有看到。

关于c# - 在 C# 中组织程序集(程序集结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/731075/

相关文章:

.net - 在 Asp.Net Core 中加载 XSLT

jquery - Http 处理程序是合适的架构选择吗?

python - Rhino.Python 和 .NET 框架

c# - 扩展 WPF 工具包 - 如何添加对项目的引用?

c# - EventLog.EntryWritten 事件处理过去的事件

c# - 事件目录 - 以编程方式检查提供的凭据

.net - 为什么自定义属性同时出现在 IL 和 Metadata 中?

c# - .NET 的 64 位系统上的原子读/写大小?

c# - 如何从另一个表单更改标签的文本?

c# - 多线程并行阶乘