我应该提供访问方法/吸气制定者对于公立/保护关键部件的形式?

StackOverflow https://stackoverflow.com/questions/5997

  •  08-06-2019
  •  | 
  •  

如果我有。净的形式与一个组成部分/目如一个文本,我需要从父母或其他形式显然我需要"升级"修改这一构成部分内部或公共级别的变量。

现在,如果我们提供一个公众可变的一个int或串的类型等。在我的形式类我不认为两次关于使用吸气以及(可能)制定者围绕这一点,即使他们没有做任何事情比其他提供直接访问的变量。

然而,VS设计师似乎并不实施这种干将/制定者对于那些公开的对象,组成上的一种形式(并因此不符合良好的编程的做法).

因此,问题;为了做到的"正确的事"我应该包裹这样VS设计的部件或物体在吸气和/或传手?

有帮助吗?

解决方案

"然而,VS设计师似乎并不实施这种干将/制定者对于那些公开的对象,组成上的一种形式(并因此不符合良好的编程的做法)."

如果你指的是控制你拖到的形式,这些都是标记为私人实例成员和加入形成的控制的集合。他们为什么会是吗?一种形式可能有第四十或五十控制,就会有不必要的和笨拙,以提供一个吸气/器每控制的形式。设计师留给你提供的授权访问特定的控制,通过公众吸气/制定者。

设计师做正确的事情。

其他提示

之所以不执行干将制定者和对组件的形式,我相信是因为他们不会"线的安全"。净的对象是假设是只有通过修改的形式线,创造了他们,如果你把吸气,并制定者你们能打开它的任何线。而不是你的假设要实施一个委托系统的变化对这些对象是委派给线,创造了他们跑了在那里。

这是一个经典的例子,封装在面向对象的设计。

一种形式是一个对象,其责任是本UI用户和接受输入。之间的界面形式对象和其他区域的代码应该是一个面向数据的接口,不是一个接口,这暴露了内部执行情况的详细信息的形式。内部运作的形式(即,控制)应该保持隐藏从任何消耗的代码。

一个成熟的解决方案可能会涉及的以下设计要点:

  • 公共方法或性质的行为(表演、隐藏、位置)或面向数据(集数据、获得数据,更新数据)。
  • 所有事件处理程序实现的形式是包裹在适当的线代表团代码强制执行的形式线的执行规则。
  • 管制会的数据为基础的数据结构(在适当情况下),以减少代码。

这就是甚至没有提到元的发展事单元的测试。

我始终这样做,如果你是下一个MVP的设计创造吸气/者以为你看件将是一个设计要求。

我不明白你的意思是"不遵守良好的编程的做法"。Microsoft违反了 很多 好的编程的做法,使它更容易创造的东西在Visual Studio(为了迅速应用程序的开发),我看不到缺乏吸气/者为控制作为证据,违反任何这类最佳做法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top