假设您正在编写一个像 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/