插件架构,设计难题

| 这是我的问题 我有几个音频插件,它们都从Filter基类继承。现在,我期待为他们创建一个UI,以便用户可以选择/配置他们。 我遇到的问题是实现插件属性。 当我将它们设为FilterParameter类型(针对(双精度或浮点类型))时,相对于为每种插件类型创建DataTemplate而言,通过唯一的DataTemplate创建UI容易得多。 我创建的FilterParameter类是一个类型,它包含Description,Min,Max,Value成员;它是一个实时的保护程序,但是在重构我的设计(带有VS依赖关系图)时,我发现它为插件类型创建了很多依赖关系。现在,我对继承层次结构感到满意,但是这些关系Plugin <-> FilterParameter再次弄脏了我的图。 在那种情况下你会怎么做? 走硬路,为属性保留简单类型,并为每种类型提供专用的DataTemplate? 还是继续保持一种普遍的态度,说明与上述方法相比的优缺点? 谢谢 !!! :-)     
已邀请:
        这取决于。 如果通用可以完成工作,并且还有其他设计约束或驱动程序支持该方法,那么我可能会坚持这样做。 但是,如果保持通用性,或者在狭窄/严格定义的范围内开始限制我在功能上的工作,或者开始扭曲系统的其他方面,那么绝对是时候走艰难的路了。现在小痛,以后少(大)痛。     

要回复问题请先登录注册