【发布时间】:2009-04-23 11:53:05
【问题描述】:
前言:
我有一个组件,我们称之为 IView。该组件由 BaseView 类实现,该类拥有它的大部分功能。我们使用模板模式将逻辑委托给继承类。
问题:
我们有一个名为 IView.Visible 的属性,它指示组件是否应该可见。这个属性不是虚拟的,因为它涉及我们 BaseView 中的一些逻辑。
我们创建了一个虚拟保护方法 IsVisible,从 BaseView.Visible 调用它来决定 IView.Visible 的最终值。
我们觉得这个属性名称 IsVisible 对于派生类的实现者来说描述性和清晰性不够。
有人建议将其重命名为 ShouldBeVisible,但我们仍然填写有更好的名称。
你怎么看?你有更好的名字吗?是否有涵盖模板方法这一主题的良好命名约定?
更新: 澄清一点,Visible 和 IsVisible 属性对组件没有副作用,Visible 属性使用 IsVisible 中的值来决定 Visible 的值是否应该是是的,但它不是唯一的考虑因素,并且还结合了组件的其他内部状态来给出最终判断。
【问题讨论】:
标签: c# .net properties naming-conventions