我发现我可以将8个参数传递给类构造函数,或者只传递表单变量.
但是,既然我没有在表格上使用所有内容,那么它似乎可能是糟糕的设计?
此外,我访问的对象我需要提供访问器.
它违反了OOP的原则吗?
这取决于 - 如果您使用表单作为特定类型的表单,并且"逻辑",您使用表单是有意义的,然后通过一切方式,传递对表单的引用.
它就像任何其他类一样 - 如果我要访问"员工"的元素,我会写:
void DoSomething(Employee employee) { ...
Run Code Online (Sandbox Code Playgroud)
代替:
void DoSomething(string firstName, string lastName, DateTime hireDate...) { ...
Run Code Online (Sandbox Code Playgroud)
第一个是非常干净和明显的.
但是,如果您使用的数据与表单无关,则最好将其封装到表单和类可用的自己的类中.
此外,我访问的对象我需要提供访问器.
如果是这种情况,我怀疑拥有一个封装数据的类可能是一个更好的设计......表单可以公开一个返回该类实例的属性或方法,并将其传递给您的第二个类.