.NET接口
时间:2020-03-05 18:39:00 来源:igfitidea点击:
在过去的几年中,我已经从隐藏/显示的冗长的控件页面转变为使用许多用户控件。我一直在同事之间就最佳实践进行过一些讨论。
我们应该拥有填充的属性,还是使用参数化的子控件将信息加载到控件中?
我担心使用参数表达的部分原因是我无法确保所有内容都会被填充。
使用接口的基本规则是什么?我从来没有创造一个。我应该尝试这种方式,还是坚持使用"子负荷"?
解决方案
回答
我不确定界面是否会对我们有很大帮助。我的理解是,我们正在将页面分解为包含其他控件的"复合"用户控件集,并且我们想要决定是否使用属性来设置值。
我猜这确实取决于用户控件的设计方式以及是否将它们动态添加到页面等(一种可能的情况)。我个人喜欢在构造函数中指定内容或者使用工厂方法创建控件。我承担创建时的责任,以确保一切均已设置。我对属性的经验是,有时我会忘记设置一些东西而没有意识到自己的错误。我们关于设置属性或者使用子项的观点对我来说没有多大意义。如果我们具有某种依赖关系,并且需要加载其他内容,则无论是属性还是子项,都可能会发生这种情况。
我可以参考VB.NET/C#/OOP上的任何书籍来查看接口的语法。接口基本上描述了一个类的契约。如果我们拥有A类和B类,并且都实现了一个称为ITime的接口,则两者都将提供ITime上定义的所有方法。他们仍然可以添加自己的方法,但是它们至少必须包括ITime方法的实现(例如,我们可能在ITime上将GetDate(),GetCurrentTime()作为方法)。接口不会告诉类A或者B这些方法应该如何工作,只是它们的名称,参数和返回类型。在OOP书中查找继承,以获取有关接口继承与实现继承的不同之处的更多信息。