首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GUI框架插件设计

GUI框架插件设计
EN

Stack Overflow用户
提问于 2009-03-03 02:32:35
回答 1查看 697关注 0票数 1

作为一个插件框架开发人员,我想指定一个插件必须实现的接口myNameSpace.IPlugin。接口成员之一IPlugin.GetWidget()的返回值必须是从System.Windows.Forms.Control派生的类型,并且还必须实现myNameSpace.IFoo接口。我还希望允许插件开发人员从IPlugin.GetWidget()返回第三方控件(它们已经是System.Windows.Forms.Control的后代)。除了记录这个需求之外,明确地指定这个需求的最佳方法是什么:),并执行它?插件开发人员如何设计插件(使用第三方控件)来满足这些需求?

EN

回答 1

Stack Overflow用户

发布于 2009-03-07 04:48:06

你的设计看起来有点可疑。为什么小部件必须既继承一个具体的类又实现另一个不相关的接口?听起来你有点继承的意思。而不是这样,试试这个:

代码语言:javascript
复制
interface IPlugin
{
    IWidget Widget { get; }
}

interface IWidget
{
    System.Windows.Forms.Control Control { get; }
    IFoo Foo { get; }
}

IFoo是由控件本身实现的,还是由另一个类实现的,这应该由实现者决定。你的代码不应该关心。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/604887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档