首页 > 解决方案 > 避免库与自定义属性的相互依赖

问题描述

我想减少我们项目中一些库的相互依赖关系。我想知道定义在新框架的几个库中使用的自定义属性的最佳位置在哪里。

一种可能性是拥有一些包含所有属性的“DataAnnotations”库。但是,这会以某种方式违反关注点分离原则。此外,许多框架库必须引用该库。另一种可能性是将属性放入序列化和 UndoRedoManager 库中。然而,这意味着框架库必须直接引用它们,因此用户别无选择,只能将它们包含在他的程序中。

需要共享属性的两个具体示例是 undo-redo-manager 和序列化程序。只要库的用户单独定义数据结构,他就可以决定是否要添加序列化器以及必要的属性。但是,在某些情况下,框架中定义了基本的数据结构,这也需要属性。

标签: c#attributesdependenciesshared-libraries

解决方案


推荐阅读